Язык Java 
      
     
      
       <ul>
        
         <ul>
          
           <li>Исключительные ...

      
       Понятие exception 
      
     
      
       <ul>
        
         <li>Exception (исключительная ситуация...

      
       Обычный метод обработки ошибок 
      
     
      
       <ul>
        
         <li>public class Previous...

      
       Обработка ошибок посредством exception 
      
     
      
       <ul>
        
         <li>public class ...

      
       Обработка исключительных ситуаций 
      
     
      
       <ul>
        
         <li>method1() генериру...

      
       Поведение при возникновении исключительной ситуации 
      
     
      
       <ul>
        
         <li>...

      
       Типы исключительных ситуаций 
      
     
      
       <ul>
        
         <li>Три типа: 
        
   ...

      
       Перехват и обработка исключительных ситуаций 
      
     
      
       <ul>
        
         <li>Блок tr...

      
       Генерация исключительных ситуаций 
      
     
      
       <ul>
        
         <li>Базовый класс Thro...

      
       Генерация исключительных ситуаций 
      
     
      
       <ul>
        
         <li>Методы объекта Thr...

      
       
      
     
      
       Наследники класса Throwable 
      
     
      
       <ul>
        
         ...

      
       Построение цепочек  исключений 
      
     
      
       <ul>
        
         <li>Для построения цепоче...

      
       Конец 
      
     
      
       Вопросы 
       e-mail: a.bovanenko@gmail.com
Upcoming SlideShare
Loading in...5
×

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

1,376

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,376
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Исключительные ситуации

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

      Clipping is a handy way to collect important slides you want to go back to later.

    ×