Java RuntimeException类几点说明

来源:互联网 发布:网络大电影宣发公司 编辑:程序博客网 时间:2024/06/03 19:39

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 stubTestException test = new TestException();test.f(0);}}

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

就是使用try catch 语句

例如下面的代码

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



0 0