5.5 Использование 'throws'
Исключения выбрасываются с помощью ключевого слова
'throw'. Ключевое слово
'throw' используется, чтобы указать, что произошло исключение. Операнд throw - объект любого класса, который получен из класса 'Throwable'.
Следующий фрагмент кода показывает использование записи 'throw'.
try {
if(flag < 0) {
throw new NullPointerException();
}
}
Отдельный метод может выбросить более чем одно исключение. Чтобы уметь обработать их, список исключений должен быть обеспечен определением метода. Предположите, что метод 'х () ' вызывает другой метод 'у () '. Если метод 'у () ' выбрасывает исключение, и он не обрабатывается, то метод запроса 'х ()' должен:
Объявить себя способным к выброске того же исключения что и в вызываемом методе.
Если в блоке метода х () нет блока
'try catch' исключение проходит через его собственный вызов (метод который вызывает х()). Чтобы избежать этого нужно включить блок
'try catch' в х().
Проверьте следующий код:
Пример 5:
public class ThrowsDemo {
public static void main(String args[]) {
try {
int arrSize = args.length;
ThrowsDemo td = new ThrowsDemo();
td.check(arrSize);
System.out.println(args[1]);
}
catch(ArrayIndexOutOfBoundsException e) {
System.out.println( Array index is out of bounds );
}
}
void check(int arrSize) throws NegativeArraySizeException
{
if(--arrSize<0)
throw new NegativeArraySizeException( Arraysize is negative );
}
}
Вывод 5 примера изображён на рисунке 5.7
Рисунок 5.7: Вывод примера 5
Заметьте, исключения выбрасываются каждый раз, когда выполнен ThrowsDemo, то выполнение кода возможно с и без передачи параметров строки.