컴퓨터/Delphi
[Component] Indy 에서 예외처리 하기
나즈나
2016. 11. 26. 19:26
델파이는 Try ... except ... end 로 예외처리를 지원하고 있고 Indy 또한 Error Exception을 지원합니다.
하지만 예전에는 Indy의 exception이 IdException에 정의되어 있었습니다.
하지만 지금은 IdException을 uses 하면 파일이 있다고 나오지만
예전 코드나 예제는 더이상 사용할 수 없습니다.
왜냐하면 에러 정의가 IdException이 아닌 IdStack으로 옮겨졌기 때문입니다.
그래서 옛날 코드나 예제를 사용하면 특정 인디 버전부터는 E2003 Undeclared identifier 에러가 발생합니다.
델파이는 대부분의 예제가 08년 09년을 기점으로 그 이전에 많이 기록이 남아 있습니다.
이제는 인디 컴포넌트의 예외처리를 하려면 IdStack을 uses해야 합니다.
위와 같이 처리하면 됩니다.
위 코드는 서버 접속 시 10060 Time Out 에러에 대한 예외처리를 하고 있습니다.
어느 상황의 에러가 어떤 코드인지 알고 싶다면, 아래 사이트를 참고하세요.
Windows http://www.sockets.com/err_lst1.htm#ErrorsInNumericOrder
Linux http://www.basiclinuxcommands.com/2008/07/linux-error-codes-basic-linux-command.html