day12 异常

本文介绍了Java中异常处理的基本概念,包括可查异常、运行时异常和错误的分类,详细解释了try-catch-finally语句的使用,以及如何通过throw和throws关键字来抛出和声明异常。此外,还提供了自定义异常类的具体实现案例。

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

异常处理

异常的分类:可查异常,运行时异常和错误

不处理异常后面代码是不会被执行的

try{


}catch(){


}

try{


}catch(){


}catch(){


}

finally关键字

用于表示一个代码块,特点:无论如何最终都会执行finally语句,目的:是释放资源


异常的抛出 throw和throws

throw在方法内部抛出一个异常对象

public class throwDemo {
	public static void main(String[] args) {
		chu(3,0);
	}
	public static int chu(int a,int b){
		if(b==0){
			throw new ArithmeticException("除数不能为0");
		}
		return a/b;
	}

}

throws在方法声明上,抛出一个异常类型(我不想处理交给调用我的方法吧)

这种情况处理方式有两种1,try catch在调用者的方法里结束掉.2,继续抛出给上层.


自定义异常类

public class LoginException extends RuntimeException{

	public LoginException(String message, Throwable cause) {
		super(message, cause);
		// TODO Auto-generated constructor stub
	}

	public LoginException(String message) {
		super(message);
		// TODO Auto-generated constructor stub
	}
	
}
public class Login {
	public static void main(String[] args) {
		login("tom");
	}
	public static void login(String str){
		String[] names = {"will","jack","tom"};
		for (String name : names) {
			if(name == str){
				throw new LoginException("用户名存在");
			}
		}
	}

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值