-
On Error Resume Nextdev/etc 2013. 10. 9. 16:44
에러가 발생해도 다음 라인의 코드를 실행하겠다는 선언문이다.
On Error Resume Next
IF 1/1=1 THEN
Response.Write "여기는 잘 나와야 함"
END IF
IF 1/0=0 then
Response.Write "여기는 실행되면 안되는데...실행 되는게 On Error Resume Next다."
END IF
사실 이건 조낸 위험한 코드다.
On Error Resume Next
do while not RST.EOF
Response.Write RST.Fields("FieldName")
RST.MoveNext
loop
위 코드는 Classic ASP에서 많이 볼 수 있는 코드다.
저 레코드셋을 가져오기 전에 Database작업에서 에러발생하면? 무한루프다.
IIS서버의 코어 하나가 CPU 100%를 솟구칠 것이다.
적절한 에러처리를 하던지 위와 같은 코드는 아래와 같이 사용해야 최소한 무한루프는 피할 수 있다.
On Error Resume Next
For i = 1 To RST.RecordCount -1
Response.Write RST.Fields("FieldName")
RST.MoveNext
Next i
결론은..
조건문이 있을때는 주의해서 사용하자.
적절한 에러처리를 해라.