출처 : http://blog.daum.net/jjogume/852413

 

VBScript!!!와 ASP의 오류처리


1.에러의 종류

① 컴파일 에러 : 문법적인 오류로 인해 발생하는 에러
② 런타임(RunTime)에러
	:문법적인 오류는 없으나 실행시 잘못된 수행으로 인해 발생하는 에러
	ex) 0으로 나누기
	--> Logic Error : 실행은 정상적으로 되지만 원치 않는 결과를 반환한 경우
	--> ASP 런타임 에러 :  메모리 초과 ,인덱스 초과 객체 생성 실패 ....

2.VBScript!!! 에서 에러 처리


---> 에러가 발생하면 에러가 발생위치에서 실행이 중단되도 적절한 메세지를 보여준다

---> 에러가 발생했더라도 실행이 중단되지 않고 직접 에러처리를 하고자 할때는 
         On Error Resume Next 명령문과 ERR 객체를 활용한다

On Error Resume Next 명령문
--> 이 명령문 다음에 작성된 코드에서 에러가 발생하더라도 무시하고 실행을 계속하게 만든다.
--> 필요한 위치마다 여러번 사용할 수 있다.
 Err 객체
-> VBScript!!! 내장객체이며 에러발생시 에러에 대한 정보를 담는다
--> Property 
number: 오류번호 ,오류가 없다면 0
xxxxOnError Resume NExt 명령어를 만나면 이전의 오류번호를 무시하고 0으로 초기화한다
Description :여러 설명 문장

  

3.ASPError 객체


-->asp 의 내장 객체 중의 한가지
__. ASP문서내에서 발생한 마지막 오류의 정보를 담는 객체
--> 일반 ASP문서에서는 사용할수 없고 오류처리용 ASP 문서내에서 사용된다.
--> Server.GetLastError 메소드 호출을 통해 반화 받아 사용한다

① Property

 

 

-ASPcode : 오류코드번호 -Number : 오류표준번호 -Source : 가능한 경우 에러가 발생한 행의 원본 코드 문자열 저장 -Category : 오류의 원인에 해당하는 분류항목 -File : 오류가 발생한 asp 파일 이름 -Line : 오류가 발생한 행번호 -Column :오류가 발생한 행번호 -Description :ASP 관련에러인경우 자세한 설명 문장

 

 

② 오류처리용 ASP 페이지

-IIS 의 사용자 정의 오류에서 설정했던 500_100.asp 가 대표적인 오류처리용 페이지이다 -프로그래머가 ASPError객체를 통해 분석한 오류정보를 활용하여 적절한 처리를

수행하는 ASP문서를 말한다+ -오류처리용 asp페이지는 작성후 웹사이트의 사용자 정의 오류페이지로 맵핑 되어야의미가 있다

 

On Error Resue Next 예제

 출처 : http://blog.naver.com/crabz/140028987702

 

ASP - On Error Resume Next (에러예외처리)

 

Dim sErrMsg

Dim nErrNum

Dim oRS

Dim oCon

Dim sSelectSQL

 

...

...

...

 

nErrNum = 0

Err.Number = 0

 

' 다음문장은 문법적으로 오류가 있어도 강제적으로 실행이 되기때문에

  모든 에러를 다 잡고 나서 사용해야 나중에 버그를 줄일수 있음

On Error Resume Next

 

  Set oRS = oCon.Execute(sSelectSQL)

 

  If Err.Number <> 0 then

     nErrNum = -1

     sErrMsg = Err.Description

  End If

 

' 여기까지 에러처리문을 반영

On Error Goto 0

 

IF 0 <> nErrNum Then

 ' 예외처리

 Response.Write  "<script language='javascript'>"

 Response.Write "alert!('" & sErrMsg & "');"

 Response.Write "</script>"

 Response.End

End If

'asp' 카테고리의 다른 글

String to ASCII Codes/ASCII Codes to String  (0) 2009.12.10
Asc Function  (0) 2009.12.10
GetRows  (0) 2009.11.25
다중셀렉트 값넘기기  (0) 2009.11.25
ASP 클래스 사용법  (0) 2009.11.18

+ Recent posts