Исключения - это способ, с помощью которого Java действует, когда происходит что-то неожиданное.Например, если вы хотите читать / писать из / в файл, вы должны обработать IOException
, который будет выдан, если возникнет проблема с файлом.
Небольшой пример, чтобы объяснить это вам:
Давайте возьмем метод с именем method1()
, который выбрасывает исключение:
public void method1() throws MyException {
if (/* whatever you want */)
throw new MyException();
}
Его можно использовать двумя способами.Первый способ с method2()
просто бросит горячий картофель дальше:
public void method2() throws MyException {
method1();
}
Второй способ с method3()
позаботится об этом исключении.
public void method3() {
try {
method1();
}
catch (MyException exception) {
{
/* Whatever you want. */
}
}
Для получения дополнительной информацииЧто касается исключений, http://download.oracle.com/javase/tutorial/essential/exceptions/ должно помочь.
EDIT
Допустим, мы хотим вернуть содержимое значения в этом массиве (которыйявляется квадратом введенного числа): int[] squares = {0, 1, 4, 9, 16, 25};
или 0
, если число (input
) слишком велико.
Программирование пешеходов:
if (input > squares.length)
return 0;
else
return squares[input];
Программирование гуру исключений:
try {
return squares[input];
}
catch (ArrayIndexOutOfBoundException e) {
return 0;
}
Второй пример более чистый, поскольку после этого вы также можете добавить еще один блок (и еще один), чтобы устранить все возможные проблемы.Например, вы можете добавить это в конце:
catch (Exception e) { // Any other exception.
System.err.println("Unknown error");
}