출처: http://byhou.tistory.com/375
Application.MessageBox(PChar('시작'), '정보', MB_ICONINFORMATION);
// try문 외부에서 예외발생 경우
raise Exception.Create('예외경우 발생!'); // 아래 finally 구문 미실행 + Exit()
// try문 외부에서 Exit()할 경우
if 조건 then Exit(); // 아래 try..finally와 관계 없이 종료
try
try
...
raise Exception.Create('예외발생!'); // except + finally + next 을 모두 수행
Exit(); // except + finally + next 을 모두 수행(=Exception.Create 와 함께 사용할 필요없는 구문)
...
except
on e: Exception do
begin
// 예외 발생시에만 수행 - finally + next 수행
Application.MessageBox(PChar(e.Message), PChar('에러'), MB_ICONERROR + MB_OK);
Exit(); // finally 까지 수행하고 종료 (next 미수행)
end;
end;
finally
// 예외 발생 여부 및 try구문 내의 Exit() 유무에 상관없이 무조건 수행되는 구문
FreeAndNill(obj);
end;
Application.MessageBox(PChar('next'), PChar('next'), MB_ICONERROR + MB_OK);
'언어 > delphi' 카테고리의 다른 글
Project Source와 Unit Source의 구성 (0) | 2020.12.14 |
---|---|
delay (0) | 2020.12.14 |
Form 생성에서 종료까지 사이클 (0) | 2020.12.14 |
HeidiSQL_11.0_64_Portable (0) | 2020.11.21 |
DzHTMLText, Dam (0) | 2020.11.21 |