델프 초보임니당.
DivByZero 예외 처리를 해보려고 try-except 문을 아래처럼 코딩 했습니다
procedure TForm1.Button2Click(Sender: TObject);
var
i,j,divVal : Extended;
begin
i := 5;
j := 0;
try
divVal := i/j;
except
on EDivByZero do
ShowMessage('0으로 나눌수 없습니다.');
end;
end;
근데, 죽어도 안탑니다...-__-
데이터형은 integer 로도 해보고 / 대신 div 도 써봤습니다...
시스템 오류메세지가 떠버립니다....
이거 막고 싶은데요, 어찌해야 하나요, 예외 처리를 하기 위해
써야하는 클래스가 있습니까?
예외처리는 os가 지원해야 한다는 소리를 들은것 같기도 한데요...
이 왕초보에게 가르침을 주십시오...
델파이 IDE에서 말고 탐색기에서 실행해보세요... 제대로 될겁니다...
델파이 IDE에서도 보실려면 Tools/Debugger Options메뉴의 Language Options탭에서 Stop on Delphi Exceptions를 체크해제하세요...
그리고 실수연산에서 0으로 나눌때 발생하는 예외는 EDivByZero가 아니라 EZeroDivide입니다.
또한 divVal에 값을 대입한 뒤에 divVal변수를 전혀 참조하지 않기 때문에 divVal := i/j; 이 부분은 컴파일할때 완전히 빠져버립니다. 델파이가 필요없는 코드들은 옵티마이즈해서 빼버리기 때문에....
이걸 실행하실려면 Project/Options메뉴의 Compiler탭에서 Optimization을 체크해제하세요...
^^ 항상 즐코하세요...