12.异常

来源:互联网 发布:恢复电脑数据的软件 编辑:程序博客网 时间:2024/06/01 08:56
1.定义

   中断了正常指令流的事件。异常是在运行错的(语法是正确的)。
2.分类
   异常是一个对象,虚拟机生成的,类是由JDK提供。
   
     Throwable是所有异常错误的父类。
     Error:虚拟机运行时产生错误,程序员无能为力,程序员只能处理Exception。
     Exception分为两大类:1、生成时异常;2、运行时异常
      另外一种分类:
     1、uncheck exception(包括RuntimeException以及子类,编译可以通过)
     2、check exception(包含除了RuntimeException之外Exception的其他子类,编译通不过)
3.处理:try…catch…finally(捕捉)
   当一行代码有可能产生异常,而异常又是check exception,java编译要求对可能出现异常放进try。异常则进入catch。
   finally是无论出不出异常都会执行,一般是用来释放资源。
   只带有finally的try必须要声明异常。
   有多个catch块时要从小排到大,大的是父类。
4.关键字。throw和throws
  throw抛出异常对象,程序会中止(如果不用try  catch),java虚拟机判断不了,可以抛出异常,通常是认为判断抛出的异常。
  throws声明异常。其实是踢皮球public void setAge(int age) throws Exception,setAge()这个函数有可能产生异常,异常并不由于setAge()这个函数来处理,而是在调用真正调用setAge()的时候处理(即谁调用谁处理),这个时候需要在调用函数的时候用try catch处理。
  可以声明多个异常,中间“,”隔开。
 异常处理:
  1、在一个函数里面,有可能会产生异常(check exception)时候。可以在函数内部用try catch把可能产生的异常的代码处理下。
  2、也可以在函数后面声明throws + 异常类型。声明后该函数就没责任处理异常,而是由调用这个函数的地方try catch处理。
 
 
0 0
原创粉丝点击