Java学习之二:异常处理

    异常(Exception)是我们在初习Java的过程中必不可少且让人头痛的问题,最常见的空指针异常(NullPointerException),输入输出异常(IOException),字符串转数字异常(NumberFormatException)等。

       异常类分两大类型:Error类代表了编译和系统的错误,不允许捕获;Exception类代表了标准Java库方法所激发的异常。Exception类还包含运行异常类Runtime_Exception和非运行异常类Non_RuntimeException这两个直接的子类。这时候我们就用到 try...catch....finally  来帮助我们来处理抛出异常。

例如:

try

这两行代码有可能抛出  ClassNotFoundException 异常,无法找到指定的类异常。当应用程序试图使用forname方法通过字符串名加载类时,抛出该异常。和 SQLException 异常,用JDBC进行交互的时候遇见错误的时候会抛出。

常见的异常和抛出原因:

java.lang.IndexOutOfBoundsException

索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。

java.lang.NullPointerException

空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。

java.lang.NumberFormatException

数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。

java.lang.ClassNotFoundException

找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。

java.lang.ArithmeticException

这个异常的解释是 “数学运算异常 “,比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数。

Java的异常很多,对于一些不常见的可以自行百度。之前看过一本书,我总结了一下使用 try..catch...finally 时要的事项:.

1.异常不要用来做流程控制,条件控制,因为异常的处理效率比条件分支低。

2.不要对大段代码进行try-catch,catch时请分清稳定代码和非稳定代码,稳定代码指的是无论如何不会出错的代码。对于非稳定代码的catch尽可能进行区分异常类型,再做对应的异常处理。

3.有try块放到了事务代码中,catch异常后,如果需要回滚事务,一定要注意手动回滚事务。

4.finally块必须对资源对象、流对象进行关闭,有异常也要做try-catch。

5.不能在finally块中使用return,finally块中的return返回后方法结束执行,不会再执行try块中的return语句。

希望此片文章能帮助到您!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值