Classic ASP 예외처리 방법 – On Error Resume Next
프로그램을 개발하다 보면 오류(에러)가 발생할 수 있겠죠. 당연히 완벽한 프로그램은 없습니다. 그럼 Classic ASP에서 오류가 발생 시 예외처리를 하는 방법에 대해서 예제로 한번 알아보겠습니다.
▶ 오류 페이지 (0 으로 나누기)
<% Option Explicit %>
<%
Dim int_1, int_2
int_1 = 0 ' 받은 변수
int_2 = 30 ' 받은 변수
Response.Write int_2 / int_1
Response.Write "마지막 문장"
%>
▶ On Error Resume Next 문 추가
1) 예외 처리를 하지 않은 경우
<% Option Explicit %>
<%
' 에러처리 활성화
On Error Resume Next
Dim int_1, int_2
int_1 = 0 ' 받은 변수
int_2 = 30 ' 받은 변수
Response.Write int_2 / int_1
Response.Write "마지막 문장"
%>
2) 예외 처리를 한 경우
<% Option Explicit %>
<%
' 에러처리 활성화
On Error Resume Next
Dim int_1, int_2, int_div
int_1 = 0 ' 받은 변수
int_2 = 30 ' 받은 변수
int_div = int_2 / int_1
' 에러가 발생한 경우
If Err.Number <> 0 Then
Response.write "에러 : " & Err.Description
Response.End
End If
Response.Write "마지막 문장"
%>
※ 저는 모든 Classic ASP 페이지에 On Error Resume Next 문은 추가하지는 않습니다. 예외 처리가 발생할 것 같은 페이지 또는 특히 배치 프로그램에서는 On Error Resume Next 문을 추가해서 처리를 합니다.
▶ 활용 예제1) – 클라이언트 스크립트 경고 창
<% Option Explicit %>
<%
' 에러처리 활성화
On Error Resume Next
Dim int_1, int_2, int_div
int_1 = 0 ' 받은 변수
int_2 = 30 ' 받은 변수
int_div = int_2 / int_1
' 에러가 발생한 경우
If Err.Number <> 0 Then
' 스크립트 경고창
Response.write "<script>alert('0 으로 나누기를 했습니다. 확인 바랍니다.')</script>"
Response.End
End If
Response.Write "마지막 문장"
%>
▶ 활용 예제2) – 프로시저 활용
<% Option Explicit %>
<%
' 에러처리 활성화
On Error Resume Next
Dim int_1, int_2, int_div_1
Dim int_3, int_4, int_div_2
int_1 = 0 ' 받은 변수
int_2 = 30 ' 받은 변수
int_div_1 = int_2 / int_1
' 에러가 발생한 경우
If Err.Number <> 0 Then
Call CheckForError("1", Err.Description)
End If
int_3 = 0 ' 받은 변수
int_4 = 50 ' 받은 변수
int_div_2 = int_4 / int_3
' 에러가 발생한 경우
If Err.Number <> 0 Then
Call CheckForError("2", Err.Description)
End If
Response.Write "마지막 문장"
Sub CheckForError(strFlag, strErrMessage)
' 배치 프로그램인 경우는 오류내역을 DB에 내역을 넣어둔다.
' 로직 ~~~
' 배치 프로그램인 경우는 오류내역을 로그파일에 저장해 둔다.
' 로직 ~~~
Response.End
End Sub
%>
관련 이전 게시글
이 글이 도움이 되셨다면 공유를 부탁드립니다. 다음 글에서 뵙겠습니다!