Vincent Maverick Durano
Просто чтобы добавить к существующему предоставленному решению...
Цитата:
Какой блок catch выполняется первым, когда у нас есть несколько catch для одного блока try?
В зависимости от типа исключения, генерируемого кодом приложения. С тех пор как ты поймал несколько штук
Exception
тогда типы:
(а) когда ваш SQL-сервер выдает предупреждение или ошибку, то
SqlException
блок catch будет выполнен.
(b) Когда вы пытаетесь преобразовать что-то, что не очень хорошо сформировано, или формат аргумента недействителен, то
FormatException
блок catch выполняется.
(c) когда произошла нулевая ссылка или недопустимая операция, то она будет отправлена в
Exception
поймать блок, так как вы специально не справлялись
NullReferenceException
и
InvalidOperationException
. Этот
Exception
тип обычно используется для обработки универсальных исключений.
Цитата:
и почему ?
Множественный
Catch
блок обычно используется для обработки различных видов
Exception
Точно так же, как в вашем примере:
SqlException
,
FormatException
и
Exception
типы (имейте в виду, что существует много типов исключений в зависимости от того, какую операцию вы пытаетесь выполнить).
Исключения-это тип ошибки, возникающий во время выполнения приложения.
Errors
как правило, это проблемы, которые происходят необъяснимо. В то время как,
Exceptions
ожидается, что они произойдут в коде приложения, поэтому важно обрабатывать ожидаемые исключения и перехватывать их специально, чтобы легко определить, какие из них вызывают возникновение исключения. Обработка конкретных исключений очень полезна при ведении некоторых журналов и позволяет приложению передавать управление из одной части кода в другую.