异常Exception

异常

定义:异常指程序运行中出现的不期而至的各种状况
异常发生在程序运行期间,影响了正常的程序执行流程
Throwable是超类
分类:
检查性异常:用户错误或问题引起的异常
运行时异常
错误ERROR:脱离程序员控制的问题

Error
由Java虚拟机生成并抛出,大多数错误与代码编写者执行的操作无关

Exception
由程序逻辑错误引起的

Error与Exception的区别:
Error通常是灾难性的致命错误,程序无法控制和处理,一旦出现,JVM一般会选择终止线程Exception通常情况下可以被程序处理,并在程序中应该尽可能的去处理这些异常

异常处理机制

步骤:抛出异常,捕获异常
关键字:try、catch、finally、throw、throws
格式如下:

try{
		//try监控区域
}catch(Error e){
		//捕获后的操作
}catch(Exception e){
	e.printStackTrace();//打印错误的栈信息
}catch(Throwable e){
	........ 
}finally{
		//程序无论出不出异常都会执行的代码,处理善后工作(可以不要finally)
}

假设要捕获多个异常,由小到大!
快捷生成异常处理:command+option+T(Mac) Ctrl+alt+t(Windows)

public void test() throws Exception(){//假设这个方法中处理不了这个异常,则在方法上抛出异常
		if(...){
			throw new Exception();//主动抛出异常,一般用在方法中使用
		}
}

自定义异常

步骤:

  1. 创建自定义异常类
  2. 在方法中通过throw关键字抛出异常对象
  3. 若在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作
  4. 在出现异常方法的调用者中捕获并处理异常
    具体实现:
public class MyException extends Exception{
	//传递数字大于10
	private int detail;
	public MyException(int a){
		this.detail=a;
	}
	//toString:异常的打印信息
	@Overrivide
	public String toString(){
		return "MyException{"+detail+'}';
	}
}
这样MyException就能在别的异常处理机制中被throw、throws、catch了

经验总结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值