Исключительные ситуации
Upcoming SlideShare
Loading in...5
×
 

Исключительные ситуации

on

  • 1,953 views

 

Statistics

Views

Total Views
1,953
Views on SlideShare
1,950
Embed Views
3

Actions

Likes
0
Downloads
12
Comments
0

1 Embed 3

http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Исключительные ситуации Исключительные ситуации Presentation Transcript

  • Язык Java
      • Исключительные ситуации
    Алексей Бованенко
  • Понятие exception
    • Exception (исключительная ситуация) — событие, возникающее в ходе выполнения программы, которое нарушает нормальное выполнение инструкций
    • При возникновении ошибки создается объект, который передается системе выполнения. Данный объект является exception.
    • Создание объекта exception и передача его среде выполнения называется генерацией исключительной ситуации
  • Обычный метод обработки ошибок
    • public class PreviousCaseClass { public boolean method1(int i) { boolean res=false; if(i>0) res=true; return res; } public boolean method2(int i) { boolean res=false; if(method1(i)) res=true; return res; } public boolean method3(int i) {
    • boolean res=false; if(method2(i)) res=true; return res; } public void test() { int i=-10; if(method3(i)) System.out.println("Ошибок нет"); else System.out.println("Неверные входные данные"); } }
  • Обработка ошибок посредством exception
    • public class NewCaseClass { public void method1 (int i) throws Exception { if(i>0) throw new Exception("Неверные данные"); /* * действия */ } public void method2 (int i) throws Exception { method1(i); }
    • public void method3 (int i) throws Exception { method2(i); } public void test() { int i=-10; try{ method3(i); }catch(Exception e) { System.out.println(e); } } }
  • Обработка исключительных ситуаций
    • method1() генерирует исключение
    • Среда выполнения пытается найти обработчик среди методов в стэке вызовов (call stack)
  • Поведение при возникновении исключительной ситуации
    • Перехват исключительной ситуации через блок try/catch
      • try{ mathod1(); }catch(Exception e){}
    • Передача исключительной ситуации на уровень выше
      • public void method2() throws Exception{}
  • Типы исключительных ситуаций
    • Три типа:
      • Обрабатываемые исключительный ситуации
        • Правильно написанное программное обеспечение должно обрабатывать такого рода исключительные ситуации, восстанавливая выполнение программы
      • Ошибки (error)
        • Данные ошибки являются внешними по отношению к программе.
        • Программа не должна их обрабатывать
      • Исключительные ситуации времени исполнения (Runtime Exception)
        • Такого рода ошибки являются внутренними по отношению к прогармме
        • Программа не должна их обрабатывать
  • Перехват и обработка исключительных ситуаций
    • Блок try
      • try{ /* Блок кода */ } catch и finally блоки
    • Блок catch
      • try{ /* Блок кода */ } catch(Exception1 e){} catch(Exception2 e){}
    • Блок finally
      • try{}catch(Exception e){}finally{}
  • Генерация исключительных ситуаций
    • Базовый класс Throwable
      • Throwable()
      • Throwable(String message)
      • Throwable(String message, Throwable cause)
      • Throwable(Throwable cause)
      • public Throwable fillInStackTrace()
      • public Throwable getCause()
      • public String getMessage()
      • public StackTraceElement[] getStackTrace()
        • public String getFileName()
        • public int getLineNumber()
        • public String getClassName()
        • public String getMethodName()
        • public boolean isNativeMethod()
  • Генерация исключительных ситуаций
    • Методы объекта Throwable:
      • public Throwable initCause(Throwable cause)
      • public void printStackTrace()
      • public void printStackTrace(PrintStream s)
      • public void printStackTrace(PrintWriter s)
    • Для генерации исключительной ситуации используется оператор throw
      • throw NewExceptionObject;
  • Наследники класса Throwable
    • Класс Error — ошибки среды выполнения
    • Класс Exception — перехватываемые исключения. Не перехватываются только RuntimeException
  • Построение цепочек исключений
    • Для построения цепочек исключений используется конструктор Throwable с параметром Throwable, а также метод initCause
    • Для построения пользовательских классов исключений базовым классом является класс Exception
    • Цепочки строятся только для уточнения причин возникновения ошибок для последующей их обработки
  • Конец Вопросы e-mail: a.bovanenko@gmail.com