Java的两种异常 博客分类: java java Exception检查异常
程序员文章站
2024-03-20 08:15:04
...
Java异常分为两种:一种是检查异常,一种是非检查异常(运行时异常)
- 被检查的异常:放在try语句里面的异常,不一定抛不抛,有异常通过catch来捕获。必须要捕获,例如SQLEXCEPTION。有的SQL语句可能执行失败,但是有的会成功。这种异常一般可以忽略,给出异常的提示信息留做记录即可。例如多线程查询,其中有一线程查询失败,程序依然要进行.
- 运行时异常:运行时才知道执行条件是否非法,并抛出异常。例如NullPointerException。说明代码写错了,捕获只会掩盖自己的错误.
运行时异常和错误是不需要也不应该被捕获的,因为这种异常往往是不可恢复的,程序继续执行可能还会造成严重的负面后果。
总结:如果你相信一个条件可能允许恢复,那么使用一个被检查的异常;如果不是,则使用运行时异常。
对于运行时异常,比如IllegalStateException,nullPointerException,我们不需要抓住。举例如下:
public void function(String str)//throws Exception 这里不需要抛出异常 { if(null ==str) { throw new IllegalStateException(); } else 。。。。 }
推荐阅读
-
Java的两种异常 博客分类: java java Exception检查异常
-
Mysql 异常。 寻求帮助 博客分类: java基础 MySQLJavaHibernateActiveMQJDBC
-
tomcat后台抛出异常"AWT-EventQueue-0" :sun.java2d.HeadlessGraphics 博客分类: 技术 sunjvm
-
特殊的空指针异常 博客分类: java基础 java空指针
-
将java异常栈 输出成字符串 打印到日志中 博客分类: java 异常日志
-
几种用来检查checkbox是否选中的方法(转载) 博客分类: Java checkbox选中
-
有关Java异常处理中包含return语句的try和finally执行顺序的实证 博客分类: Java Java异常处理执行顺序
-
大量异常带来性能的影响 博客分类: java-jvm&性能&原理 异常和性能
-
Java异常类 博客分类: JavaException Exception类封装
-
socket通信遇到EOFException 博客分类: 异常Java网络