`
高山流水123
  • 浏览: 25720 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java---异常处理1

 
阅读更多

java---异常处理(程序在运行时)
1,概念:提高容错性;正常情况下不执行,当异常时候执行处理代码;
2,避免异常:通过措施是防止发生
   处理异常:已经发生,怎么挽救
3,异常的分类:
   1) Throwable 父类 :
     子类 a) Error       错误  非常严重的底层错误,严重到不可避免,无法处理 
     子类 b) Exception   异常 ==》本章重点是 异常处理(exception 处理)
              二级子类 a) RuntimeException: 未检查异常;
                                            可以避免,可处理可不处理;
                              三级子类...
                       b) 非RuntimeException: 已检查异常;
                                              不可避免,必须处理;
    如果一个程序可能发生已检查异常,而程序员未加以处理,程序的编译出错。

java---异常的产生,传递,处理:
1,产生:throw:动作,抛出一个异常,将异常对象作为方法的返回值返回;
         throw 等同于 return语句;
        当多重循环中发生异常,此异常将逐层向外抛给上一级,直至抛到jvm虚拟机,
        虚拟机将作出中止操作,

2,传递:异常对象 沿着方法调用链反向传递,直至jvm,最终导致程序中止

3,异常的处理:抛已检查异常时候必须处理,否则编译不通过
               抛未检查异常时候可以不处理,编译可通过
       1) throws:声明抛出:
      static void mc(int a) throws FileNotFoundException,EOFException{ };
           多种异常中间用逗号隔开;
           JVM <==> main <==> ma <==> mb <==>mc
           从mc抛到jvm虚拟机:
           public class TestException{
              public static void main(string[] args) throws Throwable{
              static void ma(int a) throws Exception{}
              static void ma(int a) throws IOException,SQLException{}        
              static void ma(int a) throws FileNotFoundException,EOFException,SQLException{}
              }
           }
4,  方法抛异常由咱们自己处理,加 throws Exception 或是其他抛类

5,  以上的为消极的异常处理,不做处理,只是抛出给上一级,
    以下为积极的处理方式:

 1) try-catch :捕获异常
    try{}          // 当try中遇到异常,跳出到catch中;
    catch(IOException e){}
    catch...{}     // 可以跟多个catch;但是注:先catch子类异常,再catch父类异常
 2) try-catch-finally
     finally: 无论有没有异常都会执行,主要用来释放资源,
     当try中有throw异常或是return时候,finally中的代码要先于 try和catch中的throw或是return代码执行;
     如果 finally中有return语句,只执行finally中return。
 3) try-finally:

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics