Paraméter ellenőrzési feladatkörök

+1 vote
asked Mar 28, 2015 in IRF tantárgy by barni (23 points)  

Az lenne a kérdésem, ha paraméterként int-et várok, de valaki Stringet ad meg, akkor azzal nekem kell külön foglalkoznom, vagy ez már elvárható egy felhasználótól?

Pl.:

param(
     [Parameter(Manadator=$true)][int] $variable
)

esetén is szükség van hibakezelésre?

1 Answer

+1 vote
answered Mar 28, 2015 by szPatrik (29 points)  

https://inf.mit.bme.hu/edu/courses/irf/hazifeladat
és itt ez a pont: SZ7 A felhasználótól kapott bemeneti paramétereket mindig ellenőrizzük.

commented Mar 28, 2015 by phx37 (63 points)  
És itt az exceptiont hogyan tudom elkapni?  A param-ot nem engedi try blokkba tenni.
commented Mar 28, 2015 by ruttilus (22 points)  
Betenni éppen be lehet (azt nem találom, hogy mit kell elkapni), csak van-e értelme? Kapjam el az exception-t, ami arról szól, hogy nem jó a paraméter (elég részletesen leírja mi a baja), és dobjak el egyet, ami arról szól, hogy nem jó a paraméter?
Szerintem amit az SZ7-es pont eleje mond (megadták-e az összes kötelező paramétert, számot adott meg, ahol számot várunk), arra a (Mandatory=$true) és a típus megadása elég kéne, hogy legyen.
commented Mar 28, 2015 by hajdua (688 points)  
Így van. Ilyenkor amúgy sem tudna folytatódni a szkript, ilyenkor ez az elvárt "működés", hogy kivételt dobjon.
...