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:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值