Разделы презентаций


Исключения в Java

Исключения – это механизм взаимодействия между кодом, приведшим к ошибке, и кодом, обрабатывающим ошибкуИсключение выбрасывается (throw), когда возникает некоторая ситуация.Оно перехватывается в программе (catch). В противном случае оно обрабатывается по

Слайды и текст этой презентации

Слайд 1Исключения в Java

Исключения в Java

Слайд 2Исключения – это механизм взаимодействия между кодом, приведшим к ошибке,

и кодом, обрабатывающим ошибку
Исключение выбрасывается (throw), когда возникает некоторая ситуация.
Оно

перехватывается в программе (catch). В противном случае оно обрабатывается по умолчанию
Исключения – это механизм взаимодействия между кодом, приведшим к ошибке, и кодом, обрабатывающим ошибкуИсключение выбрасывается (throw), когда

Слайд 3Причины возникновения исключений
Попытка выполнить некорректное выражение. Например, деление на ноль,

или обращение к объекту по ссылке, равной null, попытка использовать

класс, описание которого (class-файл) отсутствует, и т.д. В таких случаях всегда можно точно указать, в каком месте произошла ошибка, - именно в некорректном выражении.
Выполнение оператора throw Этот оператор применяется для явного порождения ошибки. Здесь тоже можно указать место возникновения исключительной ситуации.
Асинхронные ошибки во время исполнения программы.

Все ошибки делятся на:
синхронные – возможно найти точное место в коде, которое является причиной возникновения исключительной ситуации
асинхронные - гораздо сложнее в обнаружении и исправлении. Обычному разработчику очень трудно выявить причины сбоев в виртуальной машине. Это могут быть ошибки создателей JVM, несовместимость с операционной системой, аппаратный сбой и т.д.
Причины возникновения исключенийПопытка выполнить некорректное выражение. Например, деление на ноль, или обращение к объекту по ссылке, равной

Слайд 4Обработка исключительных ситуаций
Конструкция try-catch
try {
охраняемый блок
} catch(SomeExceptionClass e)

{ ...}
. . .
catch(AnotherExceptionClass e) { ...}
Конструкция

try-catch-finally
try {
byte [] buffer = new byte[128];
FileInputStream fis = new FileInputStream("file.txt");
while(fis.read(buffer) > 0) { ... обработка данных ... }
} catch(IOException es) { ... обработка исключения ...
} finally {
fis.flush(); fis.close();
}

Слайд 5Оператор throw
Программист сам может явно породить исключительную ситуацию
...
public int

calculate(int theValue) throws Exception { I
f( theValue < 0)

{
throw new Exception("Параметр для вычисления не должен быть отрицательным");
}}...
Можно передать информацию об исключительной ситуации в вызывающий код
...
try { ...
} catch(IOException ex) {
... // Обработка исключительной ситуации
... // Повторное возбуждение исключительной ситуации
throw ex;
}
Оператор throwПрограммист сам может явно породить исключительную ситуацию ...public int calculate(int theValue) throws Exception {  If(

Слайд 6Преимущества исключений
Разделение кода и обработки ошибок
Группирование ошибок по типам
Раскрутка стека
readFile

{
    try {
        open the file;
        determine its size;
        allocate

that much memory;
        read the file into memory;
        close the file;
    } catch (fileOpenFailed) {
        doSomething;
    } catch (sizeDeterminationFailed) {
        doSomething;
    } catch (memoryAllocationFailed) {
        doSomething;
    } catch (readFailed) {
        doSomething;
    } catch (fileCloseFailed) {
        doSomething;
    }
}

method1 {
try {
call method2;
} catch (exception) {
doErrorProcessing;
}
}
method2 throws exception {
call method3;
}
method3 throws exception {
call readFile;
}

Преимущества исключенийРазделение кода и обработки ошибокГруппирование ошибок по типамРаскрутка стекаreadFile {    try {        open the file;        determine

Слайд 7Создание классов исключений
public class UserException extends Exception {
public

UserException() {
super();
}
public UserException(String

descry) {
super(descry);
}
}

Выбрасывание исключения:
throw new UserException( "Дополнительное описание");
Создание классов исключенийpublic class UserException extends Exception {  	public UserException() {   		super();  	}

Слайд 8Выбрасывание исключений
class ExceptThrow
{
public static void main(String[] args)throws MyException
{int id

= -1;
if (id

MyException extends Exception
{
MyException(){System.out.println("Id must be natural!");}
}
Выбрасывание исключенийclass ExceptThrow{public static void main(String[] args)throws MyException {int id = -1; if (id

Слайд 9Перехват исключений
class ExceptThrow
{
public static void main(String[]

args)
{

int id = -1;
try {
if (id<1)throw new MyException();
} catch(MyException e){
System.out.println("Mistake");
} finally {
System.out.println("Id="+id);
}
System.out.println("Finished");
}
}
class MyException extends Exception
{
MyException(){System.out.println("Id must be natural!");}
}
Перехват исключенийclass ExceptThrow{    public static void main(String[] args)    {

Слайд 10Переопределение методов и исключений
При переопределении метода список
исключений можно только

сужать
public class BaseClass{
public void method () throws IOException


{ ... }
}
public class LegalOne extends BaseClass {
public void method () throws IOException
{ ... }
}
public class LegalTwo extends BaseClass {
public void method ()
{ ... }
}
public class LegalTree extends BaseClass {
public void method () throws IOException, MalformedURLException
{ ... }
}
Переопределение методов и исключенийПри переопределении метода список исключений можно только сужатьpublic class BaseClass{  	public void method

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика