Это означает перехват исключения и выполнение некоторой логики, основанной на его типе, чтобы ваше приложение могло обрабатывать его изящно, а не внезапно завершать работу.
Вот пример (хотя и надуманный) в Java:
public int arrayRetrieve(int[] a, int index) {
return a[index];
}
Учитывая эту функцию, нет гарантии, что index
будет действительной позицией в a
. В Java это вызовет ArrayOutOfBoundsException
.
Код, который вызывает arrayRetrieve
, должен знать об этой возможности и соответственно обрабатывать этот случай:
int num = 0;
try {
num = arrayRetrieve(someArray, 77);
} catch (ArrayOutOfBoundsException e) {
// Set num to a default value, or log an error, or however you want to handle this case
}
Если ArrayOutOfBoundsException
не будет перехвачен, это приведет к аварийному завершению работы программы.
(Одна из причин, по которой я сказал, что этот пример надуманный, заключается в том, что в Java, в частности, есть два вида Exception
- тип, который вы должны явно отловить, и тип, который вы не делаете. ArrayOutOfBoundsException
- пример последнего .)