java基础之--异常

1.异常的概述

  • 异常:java语言中,在程序执行中发生的不正常的行情况,如果不处理最终会导致JVM的非正常停止。

2.异常的分类

Java中的异常可以分为两大类:

  • Error:java虚拟机无法解决的严重问题。一般意外无法解决处理。
  • Exception:编程错误或者是外在的因素的问题,开发人员可以对代码进行修改而解决。
    以上两类异常都是继承Throwable类,只不过是一个是开发人员能处理,一个是开发人员不能处理的

异常结构图
以上蓝色的可以理解为是运行时异常,而红色的则是编译时异常。

3.异常的处理机制

3.1抛出异常

程序中的方法出现错误了,方法创建异常对象并交付运行时的系统,异常对象包含了异常类型和异常出现时的程序状态等异常信息。(简单来说就是,我这里出错了,我不管,直接把错误丢给我的上级,让我的“上级”去处理(这里所谓的处理,并不是程序会自动去修改错误,只是“上级”会捉住这个错误,并报告信息。然后开发人员根据相应的信息去修改代码。)

任何java代码都可以抛出异常,都可以通过throw语句抛出异常

3.2捕捉异常

在方法抛出异常后,运行时系统寻找合适的异常处理器直接拿下异常。 就是捉住异常,而不需要丢给上级。 然后直接给开发人员打印错误的具体的信息。

异常捕获是通过try-catch语句或者 try-catch-finally语句实现的

try{
     编写可能会出现异常的代码
}catch(异常类型1  e){
     处理异常的代码
     //记录日志/打印异常信息/继续抛出异常
}catch(异常类型2  e){
     处理异常的代码
     //记录日志/打印异常信息/继续抛出异常
}

finally: 无论异常是否发生,最终都会执行。 常用于资源的关闭。

java规定:对于任何可查的异常必须捕捉或声明抛出(就是本文最顶端的异常结构图中的红色类型的)


4.throw和throws关键字

4.1 throw

  • throw关键字用在方法体内,用来抛出一个异常对象,将这个遗产对象传递到调用者处,并结束当前方法的执行。
  • java程序的执行过程中如果出现异常,会生成一个异常类对象,该异常对象将被提交给java运行时系统,这个过程称为抛出异常(throw)

4.2 throws

  • 声明异常: 将问题标识出来,报告给调用者。
  • throws关键字运用于方法声明之上,表示的是当前的方法不处理异常,而是提醒该方法的调用者来处理异常

5.自定义异常

  • 继承Exception或者他的子类即可
  • 自定义的异常类应该包含两个构造器:一个是无参构造器,另外一个是带有详细信息的构造器
  • 自定义的异常只能通过throw抛出
public class RegisterException extends Exception{
	//空参构造
	public RefisterException(){}

	//@param message 表示异常的信息
	public RegisterException(String message){
		super(message);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值