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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

1,352

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,352
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Transcript

    • 1. Язык Java
        • Исключительные ситуации
      Алексей Бованенко
    • 2. Понятие exception
      • Exception (исключительная ситуация) — событие, возникающее в ходе выполнения программы, которое нарушает нормальное выполнение инструкций
      • При возникновении ошибки создается объект, который передается системе выполнения. Данный объект является exception.
      • Создание объекта exception и передача его среде выполнения называется генерацией исключительной ситуации
    • 3. Обычный метод обработки ошибок
      • 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("Неверные входные данные"); } }
    • 4. Обработка ошибок посредством 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); } } }
    • 5. Обработка исключительных ситуаций
      • method1() генерирует исключение
      • Среда выполнения пытается найти обработчик среди методов в стэке вызовов (call stack)
    • 6. Поведение при возникновении исключительной ситуации
      • Перехват исключительной ситуации через блок try/catch
        • try{ mathod1(); }catch(Exception e){}
      • Передача исключительной ситуации на уровень выше
        • public void method2() throws Exception{}
    • 7. Типы исключительных ситуаций
      • Три типа:
        • Обрабатываемые исключительный ситуации
          • Правильно написанное программное обеспечение должно обрабатывать такого рода исключительные ситуации, восстанавливая выполнение программы
        • Ошибки (error)
          • Данные ошибки являются внешними по отношению к программе.
          • Программа не должна их обрабатывать
        • Исключительные ситуации времени исполнения (Runtime Exception)
          • Такого рода ошибки являются внутренними по отношению к прогармме
          • Программа не должна их обрабатывать
    • 8. Перехват и обработка исключительных ситуаций
      • Блок try
        • try{ /* Блок кода */ } catch и finally блоки
      • Блок catch
        • try{ /* Блок кода */ } catch(Exception1 e){} catch(Exception2 e){}
      • Блок finally
        • try{}catch(Exception e){}finally{}
    • 9. Генерация исключительных ситуаций
      • Базовый класс 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()
    • 10. Генерация исключительных ситуаций
      • Методы объекта Throwable:
        • public Throwable initCause(Throwable cause)
        • public void printStackTrace()
        • public void printStackTrace(PrintStream s)
        • public void printStackTrace(PrintWriter s)
      • Для генерации исключительной ситуации используется оператор throw
        • throw NewExceptionObject;
    • 11. Наследники класса Throwable
      • Класс Error — ошибки среды выполнения
      • Класс Exception — перехватываемые исключения. Не перехватываются только RuntimeException
    • 12. Построение цепочек исключений
      • Для построения цепочек исключений используется конструктор Throwable с параметром Throwable, а также метод initCause
      • Для построения пользовательских классов исключений базовым классом является класс Exception
      • Цепочки строятся только для уточнения причин возникновения ошибок для последующей их обработки
    • 13. Конец Вопросы e-mail: a.bovanenko@gmail.com

    ×