Как продвинуть сайт на первые места?
Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.

Ускорение продвижения
Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.



Иллюстрированный самоучитель по Visual Basic .NET

Иерархия исключений. Исключения как замена для goto.

Мы создали новый класс исключений, производный от IOException, потому что потенциальная проблема явно относилась к категории ввода-вывода. Допустим, ситуация имеет более общий характер и для базового класса не существует других очевидных кандидатов, кроме класса Exception. Впрочем, это не совсем верно – лучший выбор существует всегда. Мы настоятельно рекомендуем выбирать в качестве базового не сам класс Exceptlon, а производный от него класс AppllcationException.

Дело в том, что .NET Framework различает исключения, возникшие в результате проблем исполнительной среды (например, нехватки памяти или дискового пространства) и проблем, обусловленных работой вашего приложения. Именно исключения второй категории должны быть производными от AppllcationException, поэтому именно этот класс следует выбирать базовым при определении обобщенных исключений в программе.

Примечание
Учтите, что класс IOException, как и многие стандартные исключения, является произ-водным от Exception, а не от ApplicationException
.

Исполнительная среда помогает сделать следующий шаг. Иерархия исключений расходится на две ветви, показанные на рис. 7.1.

Иллюстрированный самоучитель по Visual Basic .NET › Обработка ошибок в VB.NET › Иерархия исключений. Исключения как замена для goto.
Рис. 7.1. Две основные ветви иерархии исключений

Классы Exceptlon, AppllcationException и SystemException обладают одинаковой функциональностью. Существование трех классов вместо одного – не более чем удобная абстракция, благодаря которой становится проще понять исключения, возникающие в ваших программах.

Исключения как замена для goto

Обработка исключений в сочетании с определением собственных классов исключений позволяет полностью отказаться от использования GoTo. Например, в главе 3 был приведен пример оправданного применения GoTo для прерывания вложенных циклов, когда ошибка происходит во внутреннем цикле. Программист VB.NET в подобной ситуации просто заключает весь цикл в блок Try-Catch, как показано ниже:

Sub Main()
Dim getData As String
Dim i, j As Integer
Dim e As System.IO.IOException
Try
For i = 1 To 10
For j = 1 To 100 Console.WriteC'Type the data, hit the Enter key between " & _
"ZZZ to end: ") getData _
Console.ReadLine() If getData = "ZZZ" Then
e New System.IO.IOException("Data entry ended " & _
"at user request") Throw e Else
' Обработка данных
End If
Next j
Next i
Catch
Console.WriteLinete.Message)
Console. Readline()
End Try
End Sub

В приведенном выше фрагменте выделенные строки нельзя объединить конструкцией следующего вида:

Dim e As New System.IO.IOException("Data entry ended at user request")

Вследствие правил видимости VB.NET объект исключения окажется недоступным в секции Catch.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.