C # try {} catch {} - PullRequest
       73

C # try {} catch {}

10 голосов
/ 21 января 2010

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

        catch (ArgumentNullException e)
        {
            OnNetworkEvents eventArgs = new OnNetworkEvents("Network Unavailable", e.Message);
            OnUpdateNetworkStatusMessage(this, eventArgs);
        }
        catch (EncoderFallbackException e)
        {
            OnNetworkEvents eventArgs = new OnNetworkEvents("Network Unavailable", e.Message);
            OnUpdateNetworkStatusMessage(this, eventArgs);
        }
        catch (SocketException e)
        {
            OnNetworkEvents eventArgs = new OnNetworkEvents("Network Unavailable", e.Message);
            OnUpdateNetworkStatusMessage(this, eventArgs);
        }
        catch (ArgumentOutOfRangeException e)
        {
            OnNetworkEvents eventArgs = new OnNetworkEvents("Network Unavailable", e.Message);
            OnUpdateNetworkStatusMessage(this, eventArgs);
        }
        catch (ObjectDisposedException e)
        {
            OnNetworkEvents eventArgs = new OnNetworkEvents("Network Unavailable", e.Message);
            OnUpdateNetworkStatusMessage(this, eventArgs);
        }

Мне просто интересно, смогу ли я заменить этот повторяющийся код одним:

catch (Exception e) { handle here}

будет ли это работать?

Еще раз спасибо.

Ответы [ 11 ]

0 голосов
/ 21 января 2010

Хотя вы можете это сделать, я бы посчитал это плохой практикой, а не тем, как вы хотели бы структурировать свой код.

В зависимости от исключения вы можете захотеть сделать что-то другое. Неверный IP-адрес - это проблема, отличная от аппаратной ошибки и т. Д. Кроме того, некоторые ошибки вы можете захотеть уведомить обратно в пользовательский интерфейс через делегата или войти куда-нибудь, используя log4net.

Но это только я, и я далеко не эксперт, поэтому примите это за то, что оно стоит

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