ASP - Объект ASPError
Объект ASPError можно использовать для получения информации об ошибке, которая произошла в сценарии на ASP-странице. Объект ASPError возвращается методом Server.GetLastError. Объект ASPError предоставляет свойства, доступные только для чтения.
Синтаксис
ASPError.свойство
Свойства
ASPCode | Возвращает код ошибки, сгенерированный IIS |
Number | Возвращает стандартный код ошибки COM |
Source | Возвращает исходный текст (если имеется) строки, в которой произошла ошибка |
Category | Показывает источник ошибки: внутренняя ошибка ASP, язык написания сценариев или объект |
File | Показывает имя файла .asp, который обрабатывался в момент возникновения ошибки |
Line | Показывает номер строки в файле .asp, которая вызвала ошибку |
Column | Показывает номер столбца в файле .asp, который вызвал ошибку |
Description | Возвращает краткое описание ошибки |
ASPDescription | Возвращает более подробное описание ошибки, если эта ошибка относится к ASP |
Замечания
Когда IIS при компиляции или выполнении файла .asp обнаруживает ошибку, генерируется специальная ошибка 500;100. По умолчанию все веб-узлы и приложения передают обработку специальной ошибки 500;100 стандартному файлу .asp. После генерирования специальной ошибки 500;100 IIS также создаст экземпляр объекта ASPError, который описывает состояние ошибки. Сведения об использовании оснастки IIS для изменения файла .asp для обработки специальной ошибки 500;100 см. в разделе Включение обработки ошибок ASP.
Пример
Приведенный ниже пример, извлеченный из файла 500-100.asp, демонстрирует запись сведений, предоставляемых объектом ASPError.
<%
Response.Write objASPError.Category
If objASPError.ASPCode > "" Then Response.Write ", " & objASPError.ASPCode
Response.Write " (0x" & Hex(objASPError.Number) & ")" & "<br>"
Response.Write "<b>" & objASPError.Description & "</b><br>"
If objASPError.ASPDescription > "" Then Response.Write objASPError.ASPDescription & "<br>"
blnErrorWritten = False
' Only show the Source if it is available and the request is from the same machine as IIS
If objASPError.Source > "" Then
strServername = LCase(Request.ServerVariables("SERVER_NAME"))
strServerIP = Request.ServerVariables("LOCAL_ADDR")
strRemoteIP = Request.ServerVariables("REMOTE_ADDR")
If (strServername = "localhost" Or strServerIP = strRemoteIP) And objASPError.File <> "?" Then
Response.Write objASPError.File
If objASPError.Line > 0 Then Response.Write ", line " & objASPError.Line
If objASPError.Column > 0 Then Response.Write ", column " & objASPError.Column
Response.Write "<br>"
Response.Write "<font style=""COLOR:000000; FONT: 8pt/11pt courier new""><b>"
Response.Write Server.HTMLEncode(objASPError.Source) & "<br>"
If objASPError.Column > 0 Then Response.Write String((objASPError.Column - 1), "-") & "^<br>"
Response.Write "</b></font>"
blnErrorWritten = True
End If
End If
If Not blnErrorWritten And objASPError.File <> "?" Then
Response.Write "<b>" & objASPError.File
If objASPError.Line > 0 Then Response.Write ", line " & objASPError.Line
If objASPError.Column > 0 Then Response.Write ", column " & objASPError.Column
Response.Write "</b><br>"
End If
%>