Я видел, как некоторые друзья говорили, что предыдущая глава не нужна, и это правда, если подумать, изначально я не собирался говорить об этих основах, но не было никаких ограничений на написание, поэтому я просто перешел к основам. Начиная с этого раздела, я расскажу о некоторых из трех основных общих классов ASP. Они реализуют разработанную мной трехуровневую архитектуру. Они являются расширением синтаксиса ASP и могут повысить эффективность обработки многих деталей. Их можно рассматривать как своего рода основу.
В этом разделе представлен класс обработки ошибок. Имя класса — Con_Error. Имя экземпляра — e. Для работы используется созданный объект этого класса ошибок.
Введение метода:
e.Add(ByVal vErrorMessage) записывает ошибку и устанавливает e.Error = true. При обнаружении ошибки, когда программа проверяет правильность имени пользователя и т. д., вызывается этот метод и записывается сообщение об ошибке.
Например, если у пользователя при входе в систему указан неверный пароль, вызовите e.add (ваша учетная запись или пароль неверны. В это время в объекте ошибки e записывается ошибка, а в атрибуте объекта ошибки e. Error=true. В последующих операциях вы можете использовать это свойство объекта ошибки для принятия решения.
Например:
При возникновении ошибки появится небольшое окно с сообщением об ошибке и возвратом на предыдущую страницу.
если e.Error тогда
e.Alert_Back Пожалуйста, войдите снова! 'Функция Alert_Back будет представлена позже.
конец, если
e.Alert_Back(ByVal vMessage) использует Javascript для отображения всплывающего окна с сообщением об ошибке и отображает список всех текущих ошибок. vMessage в Alert_Back(vMessage) отображается в последней строке, чтобы подсказать пользователю, какие действия следует предпринять после просмотра этого сообщения. сообщение об ошибке и вернитесь на предыдущую страницу. Опубликуйте код этого метода, чтобы каждый мог его лучше понять:
Public Sub Alert_Back (ByVal vMessage)
strJSMessage = JSMessage & vMessage 'JSMessage используется для хранения списка ошибок в объекте e, и каждая ошибка разделяется /n.
%>
<язык сценария=javascript>
<!--//
alert(<%=strJSMessage %>); 'Всплывающее окно с ошибкой.
History.back(); 'Вернуться на предыдущую страницу
//-->
</скрипт>
<%
response.end 'Обратите внимание, что вывод должен быть остановлен здесь, чтобы избежать ошибок, пока программа продолжает выполняться.
Конец субтитра
Метод e.Alert_Back расширяет несколько методов с похожими эффектами, которые представлены ниже. Процесс реализации см. в прикрепленном исходном коде:
e.Alert(ByVal vMessage) только выводит окно с сообщением об ошибке, не возвращает на предыдущую страницу и не останавливает выполнение программы.
e.Alert_Close(ByVal vMessage) выводит окно с сообщением об ошибке. Когда пользователь нажимает кнопку «ОК», закройте текущее окно.
e.OK_Go(ByVal vMessage,ByVal vURL) отображает окно с сообщением. Когда пользователь нажимает кнопку «ОК», он переходит на страницу vURL.
e.Go(ByVal vURL) Перейти непосредственно на страницу vURL.
С функциями вышеперечисленных методов должен быть знаком каждый, но на самом деле они не ограничиваются обработкой ошибок.
e.Clear очищает информацию об ошибке, записанную в объекте ошибки, e.Error = false
Поскольку объект e является глобальным объектом, его можно вызывать во многих процессах. Если вам нужно подсчитать ошибки только в определенном модуле, вы можете сначала вызвать этот метод, чтобы очистить ошибки в e.
Ниже приведены пакеты для Response.Write, просто для удобства и скорости использования.
e.Debug(ByVal vMessage) выводит информацию об отладке. Когда программа будет завершена, с помощью Response.write будет выведено много ошибок. Вам придется удалить их все и внимательно искать их. выводить отладочную информацию. Когда программа будет завершена, вам нужно будет только выполнить поиск по e.Debug, чтобы найти расположение всей информации об ошибках отладки.
ew(ByVal vMessage) выводит информацию. Это всего лишь простая оболочка Response.write. Неизвестно, насколько удобнее вводить ew в программу, чем вводить Response.write, и всегда легко ошибиться. .
e.BR выводит символ новой строки, который эквивалентен ответу. Напишите <BR />
Следующие четыре — это пакеты для Response.End. Это всего лишь несколько методов с одинаковыми функциями, определенными в соответствии с привычками работы:
e.Pause == Response.End
eP==Response.End
e.Stop == Response.End
e.End == Response.End
Существует также атрибут e.Message, который выводит список всех ошибок в объекте e.
Подробности реализации см. в коде.
Скопируйте код кода следующим образом:
КлассКон_Ошибка
PrivateblnError
личное strMessage
личное strJSMessage
Частный подкласс_initialize()
blnError = ложь
стрMessage =
Конец субтитра
Частный подкласс_Terminate()
Конец субтитра
' ============================================== ================================
' Свойство
' ============================================== ================================
'Сообщение:
Сообщение об открытии свойства Let (значение ByVal)
стрMessage = значение
Конечная собственность
Открытая собственность Получить сообщение()
Сообщение = стрMessage
Конечная собственность
'Номер ошибки
Открытая собственность GetError()
Ошибка = bnError
Конечная собственность
' JSMessage: показать в окне сообщений
Частная собственность GetJSMessage()
strJSMessage = Заменить(strMessage, <br>, /n)
strJSMessage = Заменить (strJSMessage, vbCrLf,)
JSMessage = стрJSMessage
Конечная собственность
' ============================================== ================================
'Метод
' ============================================== ================================
'Добавить: добавить сообщение об ошибке
Публичное добавление подписки (ByVal vMessage)
blnError = правда
strMessage = strMessage & vMessage & <br>
Конец субтитра
Публичная субочистка
blnError = ложь
стрMessage =
Конец субтитра
'Тревога
Публичное дополнительное оповещение (ByVal vMessage)
strJSMessage = JSMessage и vMessage
%>
<язык сценария=javascript>
<!--//
alert(<%=strJSMessage %>);
//-->
</скрипт>
<%
Конец субтитра
'Alert_Back: предупреждение и возврат
Public Sub Alert_Back (ByVal vMessage)
strJSMessage = JSMessage и vMessage
%>
<язык сценария=javascript>
<!--//
alert(<%=strJSMessage %>);
история.обратно();
//-->
</скрипт>
<%
ответ.конец
Конец субтитра
'Alert_Close: предупреждение и закрытие
Public Sub Alert_Close (ByVal vMessage)
strJSMessage = JSMessage и vMessage
%>
<язык сценария=javascript>
<!--//
alert(<%=strJSMessage %>);
window.opener = ноль;
окно.закрыть();
//-->
</скрипт>
<%
ответ.конец
Конец субтитра
'************************************************
'Отладка: response.write, используйте его для легкого удаления отладочного сообщения, просто найдите e.Debug в файлах
'************************************************
Публичная подписка OK_Go (ByVal vMessage, ByVal vURL)
strJSMessage = JSMessage и vMessage
%>
<язык сценария=javascript>
<!--//
alert(<%=strJSMessage %>);
location.href = '<%=vURL %>';
//-->
</скрипт>
<%
ответ.конец
Конец субтитра
Публичная подписка (ByVal vURL)
ответ.Перенаправление vURL
ответ.конец
Конец субтитра
'************************************************
'Отладка: response.write, используйте его для легкого удаления отладочного сообщения, просто найдите e.Debug в файлах
'************************************************
Публичная дополнительная отладка (ByVal vMessage)
ответ. Напишите vMessage
ответ.flush
Конец субтитра
'****** Ч: напиши
Публичная подписка W (ByVal vMessage)
ответ. Напишите vMessage
Конец субтитра
'****** БР: напиши <br>
Публичный нижний бр.
ответ.Напишите <BR />
Конец субтитра
'************************************************
'Пауза: ответ.конец, четко отметьте информацию об отладке
'************************************************
Публичная дополнительная пауза
ответ.конец
Конец субтитра
Публичный саб P
ответ.конец
Конец субтитра
Публичный саб [Стоп]
ответ.конец
Конец субтитра
Публичный саб [конец]
ответ.конец
Конец субтитра
Конечный класс