Java RuntimeException类几点说明

1.RuntimeExcepton异常会被Java虚拟机自动抛出,不需要异常说明

例如下面的代码 

定义一个RuntimeException 异常

public class MyException extends RuntimeException {
	
	public MyException() {
		
	}

}

进行异常抛出 但是不需要进行异常说明

public class TestException {
	
	public void f(int i) {
		if (i == 0) {
			MyException myEx = new MyException();
//			myEx.initCause(new RuntimeException());
			throw myEx;
		}
		else {
			System.out.println(i);
		}

	}
	
}
什么样子是进行异常说明了 请看下面的代码

public class TestException  {
	
	public void f(int i) throws MyException {
		if (i == 0) {
			MyException myEx = new MyException();
//			myEx.initCause(new RuntimeException());
			throw myEx;
		}
		else {
			System.out.println(i);
		}

	}
	
}
对比就会发现 第二种 多了throws MyException 几个单词

2. RuntimeExcepton 异常会被自动捕获 不需要进行手动捕获 所以也被称为”不受检查异常“

请看下面的代码

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		TestException test = new TestException();
		test.f(0);
	}
}

如果不是RuntimeExcepton 异常 你需要手动捕获异常 手动捕获异常 是什么样子的啊

就是使用try catch 语句

例如下面的代码

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		TestException test = new TestException();
		try {
			test.f(0);
		}
		catch (MyException e) {
			
			e.printStackTrace();
		}
	}
}
对比之后 发现区别在于 是否是用try catch 语句 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值