Java 异常

本文详细介绍了Java中的异常处理机制,包括Throwable的两种情况:Error和Exception。深入探讨了RuntimeException与编译时异常的区别,以及如何通过try-catch、try-catch-finally和try-finally结构进行异常捕获和资源释放。此外,还讲解了如何自定义异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.java  throwable有两种情况造成:

1.Error:是由于JVM(VirtualMachineError)或线程死亡(threadDeath)导致的,是不可治愈的。

2.Exception(异常):是由于RuntimeException或者编译时异常导致的,是可治愈的。

RuntimeException又是因为自己的代码有问题,可动手自己解决。这个错误在抛出异常后可不声明,因为基本可以通过程序员良好的编译习惯避免的。

编译时异常的解决方法有:&1捕获异常,&2.抛出异常。

什么时候用捕获什么时候又用抛出呢 ?如果需要通知方法的调用者有了异常,需要 抛出;而如果用户直接与代码打交道,必须用捕获,不能让用户看到异常。

二.捕获异常

try{

异常的代码(try块遇到异常代码后面的代码不会执行,)

}catch{

异常的类 变量名(习惯定位为e);

}

当遇到异常时候,

注意:&1.try块后可跟多个catch,也就是这个代码有多个异常 。

&2.catch之后走的异常情况必须是从小到大的类型。

&3还可用的类型为try{

}catch{

}finally{

这里面是不管异常不异常都必须执行的代码。finally代码是只有JVM退出时才不会执行的。

}

&4.有三种类型分别为:

try-catch  只能处理异常

try-catch-finally 既能处理异常,又能释放资源

try-finally  释放资源

三.抛出异常

1.throw new 异常类("  ");

然后再该方法上用throws  异常类 来声明。

throw与throws的区别:&1.throw只是在一个方法的内部抛出,而throws是在这个方法上声明抛出的异常;&2.throws可以一次声明多个异常,但是throw一次只能声明一个异常

2.细节

&1.遇到异常抛出后,如果不去捕获,就要在这个方法上去声明异常。

&2.一个方法碰到throw,立刻会停止运行。

四.基本的异常

&1.toString()  打印异常类的包名和异常类名

&2.getMessage() 返回创建throwable对象时的传入的消息字符串

&3.printStackTrace()打印异常栈的信息

过程:当程序遇到异常的时候,会创建一个异常类对象,程序终止,并使用printStrackTrace()打印出异常的信息

五.自定义异常

class 异常类 extends Exception{

//初始化

public 异常类(String name){

super(name);

}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值