2021-9-5JAVA基础知识点(异常&集合)

异常

概述

代码不正常运行

  1. 编译时异常:在编译阶段程序就会识别到可能出现异常,解决后才能运行代码
    注意:编译时异常不一定会出现问题
  2. 非编译时异常:编译时没问题,可能在运行中出现问题,需要修改代码
    ps: 可以在API中查看该异常继承的父类,继承了java.lang.RuntimeException的就是运行时异常
  3. Throwable 类是所有异常类的父类

Throwable的成员方法

在这里插入图片描述

处理办法

JVM处理办法

在控制台打印出异常的详细信息、出现异常位置后,直接结束程序

自己的处理办法

  1. 方法名后添加
public static void main(String [] args) throws xxxException{
	xxx代码体
}
  1. 使用try{}catch(){}包裹住可能出现问题的代码
try {
	可能出现异常的代码
	} catch (对应异常类型的参数 e) {
		e.printStackTrace();
		}

**好处:**这样对异常进行处理,异常发生后不会像JVM一样直接结束程序,而是可以进行相应操作,程序还会继续向下执行

自定义异常

只要继承了Exception类就是一个异常类

throwsthrow
用在方法名后面,后面跟的是异常类名用在方法体内,后面跟的是异常类对象
抛出异常,由方法的调用者进行处理抛出异常,由方法体内自己的代码进行处理
声明存在,不一定会出现异常执行了throw,一定是程序除了异常
//自定义异常类,需要继承Exception类或者RuntimeException类
public class CustomException extends Exceptiom{
	//方法内一定要有无参和带参构造方法
	public CustomException(){}
	public CustomException(String message){
		//传递的信息最后可以和异常信息一起输出在控制台
		super(message);
	}
}

//测试类
public class Demo{
	//由于下面调用的方法抛出了异常类,所以调用该方法的方法也需要抛出
	public static void main(String [] args) throws CustomException{
		int i = new Scanner(System.in).nextInt();
		test(i);
	}
	
	//以学生成绩范围监测方法作为示例
	//方法体内部使用了throw关键字抛出了一场,方法就必须使用throws关键字抛出异常类
	public static void test(int score) throws CustomException {
		if(score <0 || score > 100){
			//使用throw关键字,跟着自定义异常类对象,使用无参还是带参构造方法根据需要
			throw new CustomException("成绩范围应该在0-100之间");
		}else{
			System.out.println("成绩范围无误");
		}
		
	}
}

程序运行截图
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值