MessageBox
показывает окно сообщения. Если кто-то пишет код таким образом, это означает, что исключение было поймано, и пользователи должны быть проинформированы.
Throwing in catch
блок обычно используется для переименования исключений. Например, вы читаете файл. Чтение файла может вызвать ряд исключений из «файла уже открыт» на «устройство не готово». Но ваш код хочет сообщить внешнему коду, что либо он «не мог открыть файл», либо «файл имеет неправильный формат». Внешний код не слишком заботится о причине невозможности открытия файла.
Таким образом, исключения при открытии файла пойманы, а затем исключение «невозможно открыть файл» выбрасывается вверх, так что внешнему коде не нужно обрабатывать все эти исключения.
Sub OuterCode()
Try
Dim s As String
s = ReadFile()
ParseFile(s)
Catch e As CouldntReadFileException
' ...
Catch e As ParsingException
' ...
End Try
End Sub
Function ReadFile() As String
Try
' Open file
Catch e
Throw New CouldntReadFileException()
End Try
End Function
Sub ParseFile(s As String)
...
End Sub