博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

java 异常抛出

Posted on 2009-09-04 16:47  zhuxinyu  阅读(2045)  评论(0编辑  收藏  举报
java 中的异常分为两类:
1. check exception
2. unchecked exception(runtime exception)

如下类运行时是否会抛出异常?
Code

这里会成功运行。ArithmeticException,是继承自java.lang.RuntimeException
如果将这里的 ArithmeticException 换成 IOException。 这里编译将无法通过,提示:未报告的异常 java.io.IOExceptio; 必须对其进行捕捉或声明以便抛出。

Runtime exceptions:
  在定义方法时不需要声明会抛出runtime exception;

  在调用这个方法时也不需要捕获这个runtime exception;

  runtime exception是从java.lang.RuntimeException或java.lang.Error类衍生出来的。

Checked exceptions:

  定义方法时必须声明所有可能会抛出的checked exception;

  在调用这个方法时,必须捕获它的checked exception,不然就得把它的exception传递下去, 继续抛出;
  checked exception是从java.lang.Exception类衍生出来的。


在这里的 IOException 就是受检查异常,处理这种异常的办法就是
1. 通过try...catch()....捕获
2. 通过throws将其抛出。