Сначала вы должны поймать базовые исключения системного уровня, а затем те исключения, которые, как вы знаете, являются оболочкой (или наследником) исключения системного уровня ... затем ваше пользовательское исключение. Порядок просто сделан так, чтобы вы могли перехватитьосновная причина ошибок вместо того, чтобы поймать что-то более высокое и не знать, что было корневым исключением.
Для меня, как правило, я бы не поймал никаких исключений ... разрешил системе ошибку, просмотрите трассировку стека, чтобы найти порядок, в котором, кажется, возникли исключения, и перехватил их в этом порядке.
- ОБНОВЛЕНИЕ Я сделал этот ответ, предполагая что-то вроде этого ..
try block {
// 1.Операция ввода-вывода файла, которая может из-за системного исключения
// 2.доступ к веб-сервису или что-то, что может вызвать пользовательское исключение
} catch (первое возможное системное исключение) {} catch (второе перехватить ваше пользовательское исключение) {} catch (Exception ex) {// catch all}
Порядок (как сказал другой человек) .. можно рассматривать как порядок операторов кода.