码迷,mamicode.com
首页 > 编程语言 > 详细

Java 异常

时间:2016-05-12 15:58:48      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

Java异常基本记住几个规则就可以了,有些规则从来就没注意过:

1.关于Java异常
  Throwable(所有错误和异常的超类)
  :error(错误)
  :exception(异常):
  				编译时异常
  				运行时异常
2.异常的处理:
  1)try-catch语句
  2)throw抛出异常
   
3.关于try catch语句
  1)try内声明的变量,类似于局部变量,出了try{}语句,就不能被调用
  2)finally语句是可选的
  3)catch语句内部是对异常的处理
  4)多个catch语句,从上到下进行匹配
  5)如果异常被处理,其后的代码继续执行
  6)异常并列,catch顺序随意
     异常包含关系,先catch子类异常
  7)finally内的代码一定会被执行,不管try,catch中是否有异常未处理,以及是否有return语句
  注意: 如果try-catch中有throw或者return语句,会先执行finally语句,再执行throw或者return语句;这个
  时候如果finally也有return,就会执行return,前面的throw和return就不会执行
  8)try-catch是可以嵌套的
  
4.关于throw抛出异常
  1)一般来说知道怎么处理的,用try-catch,不知道怎么处理用throw,可以throw方法产生的异常类型或者
  是它的父类
  2)抛出异常后,上层的方法也可以try-catch捕获异常,或者继续向上抛,直到给JVM
  3)throw也有两种方法,一个是方法上抛出,一个是手动抛出
  4)自定义异常类:
  A:自定义的异常类继承现有的异常类
  B:提供一个序列号,提供几个重载的构造器
  5)子类重写父类的方法,其抛出的异常类型只能是被重写的方法的异常类的子类或与之相同
   原因如下: 例如在多态的时候,要捕获异常,我们不可能知道子类的方法中的异常种类,但是
   如果它们是父类的子类,那么只要处理父类的异常即可; 例:
  A a1 = new B();
  A a2 = new C();
  try{
  a1.method();
  a2.method();
  }catch(父类异常 e) {
       e.printStackTrace();
 }
大概就是这些

Java 异常

标签:

原文地址:http://blog.csdn.net/jintao_ma/article/details/51360907

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!