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

+ Recent posts