ASP 실행 오류에 대한 함수 코드를 캡처하고 저장합니다. ASP 코드 실행 오류를 가져와야 하는 친구는 프로세스 이름: catch(str)를 참조할 수 있습니다.
사용 방법:
다음과 같이 코드 코드를 복사합니다.
오류 발생 시 다음 재개
'데이터베이스 연결과 같은 코드
통화 캐치(사용자에게 표시되는 프롬프트 메시지)
기능: IIS 오류 메시지를 지우고, 오류 메시지를 사용자 정의하여 사용자에게 반환하고, 오류 메시지를 txt 파일에 저장합니다. (물론 사용자 정의 페이지로 리디렉션하기 위해 약간의 수정을 가할 수도 있습니다.)
암호:
다음과 같이 코드 코드를 복사합니다.
<%
명시적인 옵션
'예제 1 -------------
'다음에 오류 재개와 함께 사용해야 하지만 디버깅 중에 오류 세부 정보가 표시되지 않도록 웹 페이지가 공식적으로 출시되기 전에 주석 처리하는 것이 가장 좋습니다.
오류 발생 시 다음 재개
'i가 정의되지 않았으며 오류가 발생합니다. catch를 사용하여 오류를 지우고 메모장에 저장하세요.
나
콜 캐치(페이지에 접근할 수 없습니다)
'---------------------------------
'예제 2---------------
함수콘()
'다음 오류 발생 시 재개와 함께 사용해야 합니다.
오류 발생 시 다음 재개
'........데이터베이스에 연결하기 위한 코드
통화 캐치(데이터베이스 열기 오류)
종료 기능
'---------------------------------
하위 캐치(str)
err.number <> 0이면
희미한 tmp, 경로
'오류 로그의 절대 경로(예: /error_log.txt)
경로 = /table/error_log.txt
tmp = tmp & 오류 페이지: & geturl & vbcrlf
tmp = tmp & 오류 시간: & now() & vbcrlf
tmp = tmp 및 방문 IP: & ip & vbcrlf
tmp = tmp & 프롬프트 메시지: & str & vbcrlf
tmp = tmp & 오류 코드: & err.number & vbcrlf
tmp = tmp & 오류 메시지: & err.description & vbcrlf
tmp = tmp 및 애플리케이션: & err.source & vbcrlf & vbcrlf & vbcrlf
tmp = tmp & file_read(경로)
file_save(tmp,path,1)를 호출합니다.
오류.클리어()
죽다(str)
종료하면
서브 끝
'catch에서 사용하는 함수는 다음과 같습니다---------
서브 에코(str)
응답.쓰기(str)
서브 끝
서브디(str)
echo(str) : response.end()
서브 끝
함수ip()
ip = request.servervariables(remote_addr)
종료 기능
'현재 URL을 가져옵니다
함수 geturl()
희미한 시간
lcase(request.servervariables(https)) = off이면
tmp = http://
또 다른
tmp=https://
종료하면
tmp = tmp & request.servervariables(서버_이름)
request.servervariables(server_port) <> 80이면
tmp = tmp & : & request.servervariables(server_port)
종료하면
tmp = tmp & request.servervariables(url)
만약 Trim(request.querystring) <>이면
tmp = tmp & ? & 트림(request.queryString)
종료하면
geturl = tmp
종료 기능
'기능: 파일 내용을 문자열로 읽어옵니다.
함수 file_read(경로)
희미한 tmp : tmp = 거짓
file_exists(path)가 아니면 file_read = tmp : 함수 종료
희미한 스트림 : 스트림 설정 = server.CreateObject(ADODB.Stream)
스트림과 함께
.type = 2 '텍스트 유형
.mode = 3 '읽기 및 쓰기 모드
.charset = gb2312
.열려 있는
.loadfromfile(서버.MapPath(경로))
tmp = .readtext()
다음으로 끝나다
stream.close : 스트림 설정 = 없음
file_read = tmp
종료 기능
'기능: 문자열을 파일에 저장
함수 file_save(str,경로,모델)
모델<>0이고 모델<>1인 경우 모델=1
model=0이고 file_exists(path)인 경우 file_save=true: 함수 종료
희미한 스트림 : 스트림 설정 = server.CreateObject(ADODB.Stream)
스트림과 함께
.type = 2 '텍스트 유형
.charset = gb2312
.열려 있는
.writetext 문자열
.savetofile(server.MapPath(경로)),모델+1
다음으로 끝나다
stream.close : 스트림 설정 = 없음
file_save = 파일_존재(경로)
종료 기능
'기능: 파일/폴더가 존재하는지 감지
함수 file_exists(경로)
희미한 tmp : tmp = 거짓
희미한 fso : fso = server.CreateObject(Scripting.FilesyStemObject) 설정
fso.fileexists(server.MapPath(path))이면 tmp = true
fso.folderexists(server.MapPath(path))이면 tmp = true
fso = 아무것도 설정하지 않음
file_exists = tmp
종료 기능
%>