Презентация Исключительные ситуации Exceptions — v0.2

Скачать презентацию  Исключительные ситуации Exceptions — v0.2 Скачать презентацию Исключительные ситуации Exceptions — v0.2

isklyuchitelynye_situacii_exceptions_-_v0.2.ppt

  • Размер: 376 Кб
  • Количество слайдов: 15

Описание презентации Презентация Исключительные ситуации Exceptions — v0.2 по слайдам

© Net. Cracker Confidential 2008 Исключительные ситуации ( Exceptions ) © Net. Cracker Confidential 2008 Исключительные ситуации ( Exceptions )

© Net. Cracker Confidential 2008 2 Содержание Введение Иерархия Причины возникновения ошибок Обработка исключительных ситуаций Проверяемые© Net. Cracker Confidential 2008 2 Содержание Введение Иерархия Причины возникновения ошибок Обработка исключительных ситуаций Проверяемые и непроверяемые исключения Создание пользовательских классов исключений Переопределение методов и исключения

© Net. Cracker Confidential 2008 3 Введение Классические языки Java. . . int status. Code =© Net. Cracker Confidential 2008 3 Введение Классические языки Java. . . int status. Code = some. Action(); if (status. Code){ . . . обработка ошибки } else { status. Code = another. Action(); if ( status. Code ) { . . . обработка ошибки. . . } }. . . try{ some. Action(); another. Action(); } catch(Exception e) { // обработка исключительной ситуации }

© Net. Cracker Confidential 2008 4 Причины возникновения ошибок  Попытка выполнить некорректное выражение.  Выполнение© Net. Cracker Confidential 2008 4 Причины возникновения ошибок Попытка выполнить некорректное выражение. Выполнение оператора throw Этот оператор применяется для явного порождения ошибки. Асинхронные ошибки во время исполнения программы ( например, Out. Of. Memory. Exception )

© Net. Cracker Confidential 2008 5 Обработка исключительных ситуаций Конструкция try-catch-finally: try {  . .© Net. Cracker Confidential 2008 5 Обработка исключительных ситуаций Конструкция try-catch-finally: try { . . . } catch(Some. Exception. Class e) { . . . } catch(Another. Exception. Class e) { . . . } finally { … }

© Net. Cracker Confidential 2008 6 Обработка исключительных ситуаций Конструкция try-catch-finally: try { byte [] buffer© Net. Cracker Confidential 2008 6 Обработка исключительных ситуаций Конструкция try-catch-finally: try { byte [] buffer = new byte[128]; File. Input. Stream fis = new File. Input. Stream(«file. txt»); while(fis. read(buffer) > 0) { . . . обработка данных . . . } } catch(IOException es) { . . . обработка исключения. . . } finally { fis. flush(); fis. close(); }

© Net. Cracker Confidential 2008 7 Использование оператора throw public int calculate(int the. Value) throws Exception© Net. Cracker Confidential 2008 7 Использование оператора throw public int calculate(int the. Value) throws Exception { if( the. Value < 0) { throw new Exception( "Параметр для вычисления не должен быть отрицательным"); } }

© Net. Cracker Confidential 2008 8 Использование оператора throw try {  . . . }© Net. Cracker Confidential 2008 8 Использование оператора throw try { . . . } catch(IOException ex) { // Обработка исключительной ситуации // Повторное возбуждение исключительной // ситуации throw ex; }

© Net. Cracker Confidential 2008 9 Использование оператора throw try {  . . . throw© Net. Cracker Confidential 2008 9 Использование оператора throw try { . . . throw new IOException(); . . . } catch(Exception e) { . . . }

© Net. Cracker Confidential 2008 10 Проверяемые и непроверяемые исключения Null. Pointer. Exception,  Array. Index.© Net. Cracker Confidential 2008 10 Проверяемые и непроверяемые исключения Null. Pointer. Exception, Array. Index. Out. Of. Bounds. Exception …Class. Not. Found. Exception Clone. Not. Supported. Exception …

© Net. Cracker Confidential 2008 11 Иерархия © Net. Cracker Confidential 2008 11 Иерархия

© Net. Cracker Confidential 2008 12 Последовательность обработки исключений Неправильная конструкция Правильная конструкция try { © Net. Cracker Confidential 2008 12 Последовательность обработки исключений Неправильная конструкция Правильная конструкция try { . . . } catch(Exception e) { . . . } catch(IOException ioe) { . . . } catch(User. Exception ue) { . . . } try { . . . } catch(User. Exception ue) { . . . } catch(IOException ioe) { . . . } catch(Exception e) { … }

© Net. Cracker Confidential 2008 13 Пользовательские классы исключенийpublic class User. Exception extends Exception { © Net. Cracker Confidential 2008 13 Пользовательские классы исключенийpublic class User. Exception extends Exception { public User. Exception() { super(); } public User. Exception(String description) { super(description); } } Использование : throw new User. Exception(«Дополнительное описание»);

© Net. Cracker Confidential 2008 14 Переопределение методов и исключения. При переопределении методов следует помнить, что© Net. Cracker Confidential 2008 14 Переопределение методов и исключения. При переопределении методов следует помнить, что если переопределяемый метод объявляет список возможных исключений, то переопределяющий метод не может расширять этот список, но может его сужать. Метод базового класса Корректно Некорректно public void make. It() throws Some. Exception. Some. More. Exception

© Net. Cracker Confidential 2008 15 Исключительные ситуации ( Exceptions )  Вопросы ? © Net. Cracker Confidential 2008 15 Исключительные ситуации ( Exceptions ) Вопросы ?