ASP Classic에서 Err 객체는 런타임 오류 정보를 제공하는 내장 객체입니다. Err.Number 속성은 발생한 오류의 고유 번호를 반환하며, 이를 통해 오류 유형을 식별할 수 있습니다. 아래는 Err.Number를 사용하는 방법에 대한 설명과 예제입니다.
기본 사용법
- 오류 처리:
- ASP Classic에서 오류 처리를 설정하려면 On Error Resume Next를 사용합니다. 이는 실행 중 발생하는 오류를 무시하고 계속 진행하도록 설정합니다.
- 오류 감지:
- Err.Number 속성을 사용하여 오류가 발생했는지 확인합니다. 오류가 발생하지 않으면 Err.Number는 0을 반환합니다.
- 오류 재설정:
- Err.Clear 메서드를 호출하여 오류 정보를 초기화할 수 있습니다.
코드 예제
<%
' 오류 처리를 활성화합니다.
On Error Resume Next
' 오류가 발생할 가능성이 있는 코드 실행
Dim fileSystem
Set fileSystem = Server.CreateObject("Scripting.FileSystemObject")
' 존재하지 않는 파일을 열어보려는 시도 (오류 발생)
Dim file
Set file = fileSystem.OpenTextFile("C:\nonexistentfile.txt", 1)
' 오류 번호 확인
If Err.Number <> 0 Then
Response.Write("오류가 발생했습니다!")
Response.Write("오류 번호: " & Err.Number & "")
Response.Write("오류 설명: " & Err.Description & "")
' 필요한 오류 처리 수행
End If
' 오류 정보 초기화
Err.Clear
' 다시 정상적인 실행
Response.Write("코드는 계속 실행됩니다.")
%>
주요 속성 및 메서드
- Err.Number: 오류 번호
- Err.Description: 오류 설명
- Err.Source: 오류의 원본 (예: 오류를 발생시킨 객체)
- Err.HelpContext 및 Err.HelpFile: 도움말 파일 및 컨텍스트 (잘 사용되지 않음)
- Err.Clear: 오류 정보를 초기화
참고 사항
- On Error Resume Next는 모든 오류를 무시하고 계속 실행하게 합니다. 하지만 코드 작성 시에는 주요 오류를 적절히 처리하는 로직을 추가해야 합니다.
- 오류를 무조건 무시하면 디버깅이 어려울 수 있으므로, 특정 조건에서만 On Error Resume Next를 사용하는 것이 좋습니다.
이와 같은 방법으로 오류를 감지하고 적절히 처리할 수 있습니다.