关于java异常

异常是一个事件,发生在程序运行期间,干扰了正常的指令流程;java异常都是对象;

在java中所有异常都有一个共同的祖先Throwable(可抛出)。它有两个子类:Exception(异常)和Error(错误);二者都是java异常处理的重要子类;

错误:是程序无法处理的错误,表示运行应用程序中的较严重的问题;主要有VirtualMachineError(java虚拟机运行错误)、OutOfMemoryError(JVM不再有继续执行操作所需要的内存错误)、类定义错误(ClassDefFoundError)等此时JVM一般会选择线程终止。这些错误是不可查的

 

异常:是程序可以处理的异常;

Exception 有一个重要的子类:RuntimeException有算数异常、空指针异常、下标越界异常、数字格式转换异常、类型转换异常、非法参数异常等

 

错误和异常的区别就是一个不可处理一个可以处理;

 

java的异常可以分为可查异常和不可查异常

可查异常:编译器要求必须处理的异常;除运行时异常极其子类外其他的异常极其子类均为可查异常;

不可查异常:编译器不要求必须处理的异常;包括运行时异常与其子类及错误;

主要处理方式为抛出异常和捕获异常;

捕获异常:try-catch;try-catch-finally;try-finally;

try块:用于尝试会出现异常的代码块,有异常则捕获;后接catch或多个catch块,如果没有catch块则必须跟finally块;

catch块:用于处理try捕获到的异常;

finally块:无论是否捕获到异常都会执行;但有4个例外:

1.在finally块中发生了异常;

2.在前面的代码中使用了System.exit()退出程序

3.程序所在的线程死亡

4.关闭cpu

抛出异常:

throws(在方法名后用)和throw(出现在方法体里)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值