Q&A

  • 예외처리....
try
//
except  on E:Exception do
//
end;

여기서요 이게 예외 처리하는건지는 알겠는데
on E:Exception do 이게 어떻게 되는건지 모르겠네요.
답변기다리겠습니다.



1  COMMENTS
  • Profile
    하얀까마귀 2003.01.18 03:28
    안녕하세요 하얀까마귀 입니다.

    try
    except 내에서 에러가 발생했을경우에..
    on do 구문은 해당 에러인지를 첵크합니다.

    그러니까..

    E:Exception 은 모든 에러를 말하는거구요...

    어떤 에러인지를 첵크해서 각각 처리해 주기 위한 겁니다.

    음.. 설명하기가 조금 그렇네요...

    예를들면...

    var
      aa, bb : integer;
    begin
      b := 0;
      try
        aa := 100 div b;
        showmessage('에러안났거든요');
       except
         on EDivByZero do ShowMEssage('0 으로 나누었니?');
         on EZeroDivide do ShowMEssage('0을 나누었니?');
         on EMathError do ShowMEssage('그외 연산 에러거든?');
        else
          ShowMessage('이건 처리안할꺼야');
        end;
    end;
      
    이렇게 하시면 위의구문은 EDivByZero 이므로 해당 메세지 출력하죠..

    특정 에러에 대해서 어떤 처리를 해주기 위한 거라고 생각하시면 됩니다.

    그럼..
    즐거운 시간 되세요..