Public int read() throws IOException

Метод doRread() в блоке tryвызывает методread(),который пытается ввести данные из потока System.in в буфер. Если возникает ошибка ввода, управление передается блоку catch, в котором обрабатывается исключение, иначе блок catch пропускается. Если блок try-catch опустить, то компилятор укажет на ошибку.

Второй подход можно продемонстрировать на этом же примере.

Если метод может генерировать исключения, которые сам не обрабатывает, а передает для обработки другим методам, он должен объявить о таком поведении с помощью ключевого слова throws, чтобы вызывающие методы могли защитить себя от этих исключений. В вызывающих методах должна быть предусмотрена обработка этих исключений. Форма объявления такого метода:

тип имя_метода(список аргументов) throws список_исключений { }

При этом сам объявляемый метод может содержать блоки try-catch, а может и не содержать их. Например, метод doRead() можно объявить:

public void doRead() throws IOException{

System.in.read(buffer);

}

Обрабатывать исключение при этом будет метод, вызывающий doRead():

public void myDoRead(){

try {

doRead();

}

catch (IOException e){

String err = e.toString();

System.out.println(err);

}

}

Третий подход будет рассмотрен ниже на примере создания пользовательских исключений.

Метод может обрабатывать несколько исключений.

 

/* пример # 1 : обработка 2-х типов исключений : TwoException.java */

class TwoException {

public static void main(String[] args) {

try {

int a = (int)(Math.random() * 2);

System.out.println("a = " + a);

int c[] = { 1/a };

c[1] = 1;

}

catch(ArithmeticException e){

System.out.println("деление на 0"+ e);

}

catch(ArrayIndexOutOfBoundsException e) {

System.out.println("превышение границ массива: " + e);

}

System.out.println("после блока try/catch");

}

}

Исключение "деление на 0" возникнет при инициализации элемента массива а = 0. В противном случае (а = 1) генерируется исключение "превышение границ массива" при попытке присвоить значение второму элементу массива с[], который содержит только один элемент.








Дата добавления: 2015-04-05; просмотров: 948;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.