Zachytenie erroru v Pascale
Zachytenie erroru v Pascale
Je možné v Pascale (resp. Free Pascale) zachytiť error a v prípade, že by mal spadnúť program, napr. pri delení 0, by sa vypísalo "Error"?
vsetko sa da cez podmienky, alebo cez typ boolean
Alebo skus toto:
Alebo skus toto:
Kód: Vybrať všetko
uese crt;
var x:integer;
CHYBA:boolean;
begin
repeat
write('Vlož číslo: ');
{$I-} readln(x); {$I+}
CHYBA := IOResult <> 0;
if CHYBA then writeln('Chyba vstupu!')
until not CHYBA;
writeln(x);
end. -
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
delenie nulou ti hodí štandartnú výnimku, to pekne (ako aj vela iných chýb) ošetrší pomocou try-except
Kód: Vybrať všetko
begin
writeln('start');
a := 1;
b := a - 1;
try
a := 1 div b;
except
writeln('Error');
end;
writeln('end');
end.-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Nič v zlom, ale pri delení nulou nepotrebuješ "špeciálny systém na kontrolu chýb".Pilifo napísal:No to funguje, ale neviem, ako by som to aplikoval na môj prípad - delenie 0
Neviete, ako je tiež možné, že Free Pascal nepozná TRY a EXCEPT?
Free Pascal pozná aj try/except, ale je možné, že to nie je štandardne v kompilátore povolené (zapínalo sa to voľbou "Object Pascal extension on").