Захватите и сохраните код функции для ошибок выполнения ASP. Друзья, которым необходимо получить ошибки выполнения кода ASP, могут обратиться к имени процесса: catch(str).
Как использовать:
Скопируйте код кода следующим образом:
при ошибке продолжить дальше
'Ваш код, например подключение к базе данных
перехват вызова (подсказка, отображаемая пользователю)
Функция: очистить сообщение об ошибке IIS, настроить сообщение об ошибке и вернуть его пользователю, а также сохранить сообщение об ошибке в текстовый файл (конечно, вы также можете внести небольшие изменения для перенаправления на пользовательскую страницу и т. д.).
Код:
Скопируйте код кода следующим образом:
<%
опция явная
'Пример 1--------------------------
'Необходимо использовать вместе с возобновлением при ошибке, но лучше закомментировать его до официального выпуска веб-страницы, чтобы не видеть подробности ошибки во время отладки.
при ошибке продолжить дальше
'i не определен, и произойдет ошибка. Используйте catch, чтобы удалить ошибку и сохранить ее в Блокноте.
я
вызов catch (страница недоступна)
'----------------------------------
'Пример 2---------------------------
функцияconn()
'Необходимо использовать вместе с возобновлением при ошибке следующим
при ошибке продолжить дальше
'.........ваш код для подключения к базе данных
вызов catch (ошибка открытия базы данных)
конечная функция
'----------------------------------
суб-захват (строка)
если номер ошибки <> 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)
ошибка.очистить()
умереть (стр)
конец, если
конец субтитра
'Ниже приведены функции, используемые catch --------------------
суб-эхо (строка)
ответ.write(строка)
конец субтитра
субди (стр)
эхо(строка): ответ.конец()
конец субтитра
функцияip()
ip = request.servervariables(remote_addr)
конечная функция
'Получить текущий URL
функция geturl()
тусклый темп
если lcase(request.servervariables(https)) = выключено, то
тмп = http://
еще
tmp=https://
конец, если
tmp = tmp & request.servervariables(имя_сервера)
если request.servervariables(server_port) <> 80, то
tmp = tmp &: & request.servervariables(server_port)
конец, если
tmp = tmp и request.servervariables(url)
если обрезка(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(server.MapPath(путь))
tmp = .readtext()
закончиться
поток.закрыть: установить поток = ничего
file_read = tmp
конечная функция
'Функция: сохранить строку в файл
функция file_save(str,path,model)
если модель<>0 и модель<>1, то модель=1
если model=0 и file_exists(path), то file_save=true: функция выхода
тусклый поток: установить поток = server.CreateObject(ADODB.Stream)
с потоком
.type = 2 'Тип текста
.charset = gb2312
.открыть
.writetext строка
.savetofile(server.MapPath(путь)),модель+1
закончиться
поток.закрыть: установить поток = ничего
file_save = file_exists(путь)
конечная функция
'Функция: определить, существует ли файл/папка
функция file_exists(путь)
тусклый tmp: tmp = ложь
dim fso: set fso = server.CreateObject(Scripting.FilesyStemObject)
если fso.fileexists(server.MapPath(path)) тогда tmp = true
если fso.folderexists(server.MapPath(путь)) то tmp = true
установить fso = ничего
file_exists = tmp
конечная функция
%>