Обработка ошибок в блоках try / catch - PullRequest
2 голосов
/ 11 июня 2011

Какое соглашение в VB, когда подпрограмма требует, чтобы блок try / catch был успешным, чтобы функционировать, но блок catch не поднимает исключение?

Я мог бы поместить весь код в блок try, но это кажется грязным, поскольку большую часть его не нужно пытаться, просто нужно, чтобы попытка была успешной.

Например, должен ли блок catch выйти из подпрограммы? Это будет работать в моей текущей ситуации, и, если это правильная процедура, дайте мне знать, но как насчет более общего сценария, где и успех, и неудача требуют дополнительной обработки?

Ответы [ 2 ]

2 голосов
/ 10 июля 2011

Я бы так что-то вроде

    Dim success As Boolean = False

    Try
        'Code to execute
        success = True
    Catch ex As Exception
    End Try

    If success Then
        'success processing
    Else
        'failure processing
    End If
0 голосов
/ 30 апреля 2015

Это старый вопрос без ответа, поэтому я пытаюсь ответить на него, возможно, может помочь кому-то еще.

Попробуйте это:

Dim successState As Boolean = True
Try
   ' Do something in here that
   ' might raise an error.
Catch
   ' Handle exceptions that occur within
   ' the Try block, here.
   successState = False
Finally
   ' Perform cleanup code in here.
End Try

If successState Then
   MessageBox.Show("Success!")
End If

При обнаружении ошибки окно успеха не отображается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...