.
:
- IF-THEN-ELSE
- TRY-EXCEPT-END
- TRY-FINALLY-END
() , .
: 0. , .
, : 0, , , () ,
.
IF-THEN-ELSE
, . , , 0 :
IF B<>0 THEN C:=A/B ELSE ShowMessage( 0); |
( ), . , , ( 0, ..). .
TRY-EXCEPT-END
Delphi . :
:
Try
< >
Except
On < > Do < >;
Else
< >
End;
:
- , Try Except.
- , Except-End.
- Except-End . , , End, Else.
- , , End, .
:
a:=5;b:=0;d:=5; try d:=a/b; b:=2; except on EZeroDivide do d:=0; end; Label1.Caption:=FloatToStr(d)+' '+FloatToStr(b); |
Label1 0 0, .. 0 b:=2; .
|
|
Try-Except:
1. Except-End On Do Else, , .
2. , , , .
on EZeroDivide do d:=0;, , d 5.
3. .
. , Except-End , .
, , .. :
on EIntError do ; on ERangeError do ; on EDivByZero do ; |
:
on ERangeError do ; on EDivByZero do ; on EIntError do ; |
1 | 2 | ||
Exception | EAbort | ||
EArrayError | . | ||
EConvertError | StrToInt StrToFloat | ||
EInOutError | . ErrorCode . | ||
EInvalidGrid Operation | ( ..). | ||
EStackOverflow | . | ||
EIntError | |||
EDivByZero | 0 | ||
EIntOverflow | , , 32 . | ||
ERangeError | |||
EMathError | . | ||
EInvalidArgument | . | ||
EOverflow | |||
EUnderflow | , . | ||
EZeroDivide | 0. |
:
try Reset(f); while not(eof(f)) do begin end; CloseFile(f); except on E: EInOutError do ShowMessage( +IntToStr(E.ErrorCode)); end; |
|
|