728x90
If 문의 조건 절에서 오류가 발생했을 때, On Error Resume Next 는
무조건 If 문을 만족시킨 것으로 간주하게 된다.
이 것을 이해하기 위해서는 On Error Resume Next 문이 가지는 의미에 대해서 깊게 알 필요가 있다.
On Error Resume Next는 다음 코드에서의 On Error Goto RN 과 같은 작용을 한다.
Sub testSub()
On Error Goto RN ' Same as On Error Resume Next
어쩌구 저쩌구 코딩이 들어간다.
Exit Sub
RN:
Resume Next
End Sub
이는 오류 발생시 Resume Next 문을 실행하는 것과 같은 것으로,
Resume Next 는 오류 발생 지점에서 바로 다음 문을 실행하는 기능을 한다.
그런데 오류가 만일 If 문의 조건절에서 발생하게 된다면,
Resume Next는 조건절의 다음 문인 If 문 안의 코드를 수행하게 되는 것이다.
이런 문제를 의식하지 못하고 그냥 On Error Resume Next를 쓴다면,
프로그램에는 예상하지 못한 버그가 발생할 가능성이 높다.
그러므로 항상 On Error Resume Next 를 사용할 때에는 If 문을 의식하면서 사용할 필요가 있다.
728x90
'프로그래밍 > asp' 카테고리의 다른 글
ASP에서 UTF-8로 저장하기 (0) | 2011.08.03 |
---|---|
ASP에서 CSV 파일 생성하기 (0) | 2011.08.03 |
ASP 오류 'ASP 0115' (0) | 2011.06.15 |
asp 함수 정리 (0) | 2011.06.08 |
asp 함수 (0) | 2011.06.01 |