学习日志_6 异常机制

前言:之前碰到过哪些异常

1、空指针,使用null值访问成员属性会出现空指针异常

2、下标越界,当下标<0 且  >=length 的时候会出现下标越界

3、 类型转换异常

4、时间格式化异常

5、数字格式化异常,非纯数字字符串转换为int类型的时候,出现异常

6、栈内存或者堆内存溢出

异常是什么

异常就是错误的一种描述

异常是Java种专门响应错误的一种机制,能够有效的处理异常,并使得异常成为程序员中的一部分,能够更有力的增强程序鲁棒性更易于调试

发生异常的原因有很多

1、用户输入了非法数据

2、要找的文件不存在

3、网络通信中断 

4、JVM溢出

出现错误后,会终止程序生命周期执行,此时引入异常后,能够保证程序不会终止,并且还能够把错误信息进行反馈

继承体系

  • Throwable:所有异常的基类。
    • Error:表示系统错误或资源耗尽等不可恢复的错误,一般不需要程序捕获。
      • OutOfMemoryError:表示内存耗尽的错误。
    • Exception:表示一般性的异常情况,通常需要程序进行捕获和处理。
      • RuntimeException:表示运行时异常,如空指针引用等。
        • NullPointerException:空指针异常。
      • IOException:表示输入输出异常。
      • SQLException:表示数据库访问异常。

Error

主要描述的是一些系统内部错误,比如栈内存OOM溢出

Exception

Exception是什么

一般我们把exception作为所有异常类的父类,而exception又分为两大类:

RuntimeException和非RuntimeException,运行时异常和非运行时异常(编译时异常)

运行时异常一般是由于程序员粗心导致,比如空指针、下标越界、程序员完全可以通过if判断解决问题

但是编译时异常,一般性需要我们重点学习,编译时异常是我们在编码时就要处理的,如果不处理不能运行

常用方法

Exception类和其他普通类一样,有自己的属性和 方法,为我们提供异常的相关信息。常用的方法有:

1、public  String getMessage():返回关于发生的异常的详细信息。这个消息在Throw able类的构造函数中初始化了

2、public void printStackTrace():打印toString()结果和栈层次到System.err,即错误输出流

处理异常的办法

Try的四种用法

Finally

Throws的三种用法和thorw异常源点

最后的throw异常源点多搭配自定义异常使用或者调试用,即使没有异常,写了异常源点也会报异常,所以调试异常很好用

自定义异常类

自定义异常类一定要继承异常类,甚至可以继承RunableException运行时异常,可以搭配异常源点使用,常用于开发中给前端反馈信息用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值