练手:异常的种种问题

本文详细介绍了Java中的异常处理机制,包括throw和throws的区别,以及try、catch、finally语句块的具体用法。通过实例展示了如何声明可能引发的异常以及如何进行异常的再次抛出。

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

/*
 * throw和throws有什么区别? 
 * try、catch、finally分别在什么情况下使用?
 * try-catch语句块用来捕获异常
 * try语句块只能有一个,而catch则可以有多个,catch必须紧跟try语句后,
 * 中间不能有其他任何代码.
 * finally,它规定的语句块无论如何都要执行,在一个try-catch中只能有一个finally.
 */
public class Test6 {
/*
 * 
 *
 *java使用throws语法声明当前方法有可能引起一个多多个异常;
 *使用语法:返回类型 方法名(参数列表)throws 异常类名1,异常类名2,异常类名3;
 *     throw适用于异常的再次抛出.
 *  异常的再次抛出是指昂捕获到异常的时候并不对它直接处理而是把它抛出留给上一层的调用来处理.
 *  
 * 
 * */
static void method()throws NullPointerException,
IndexOutOfBoundsException,ClassNotFoundException{
String str = null;//设置字符串的内容为null
int strLength = 0;//初始化字符串的长度赋值为0
strLength = str.length();//获取字符串的长度
System.out.println(strLength);
}
static void methodThrow()throws ClassNotFoundException{
try{
Class.forName("");
}catch(ClassNotFoundException e){
System.out.println("方法中把异常再次抛出");
throw e;
}
}
public static void main(String[] args) {
try{
method();
}catch(NullPointerException e){
System.out.println("NullPointerException异常");
e.printStackTrace();
}catch(IndexOutOfBoundsException e){
System.out.println("IndexOutOfBoundsException异常");
e.printStackTrace();
}catch(ClassNotFoundException e){
System.out.println("ClassNotFoundException异常");
e.printStackTrace();
}
System.out.println("-----------------");
try{
methodThrow();
}catch(ClassNotFoundException e){
System.out.println("主方法对异常进行处理");
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值