您的位置首页生活百科

Java中Exception与RuntimeException有什么异同

Java中Exception与RuntimeException有什么异同

的有关信息介绍如下:

Java中Exception与RuntimeException有什么异同

说到Exception和RuntimeException的区别,首先看一段代码,如下:public class TestRuntimeException { public static void main(String[] args) { String str="123"; int temp=Integer.parseInt(str); System.out.println(temp*temp); }}我们来看看parseInt方法的源代码如下:public static int parseInt(String s) throws NumberFormatException { return parseInt(s,10);}我们发现这个方法中抛出了NumberFormatException异常,但是在上面的代码中我们没有找到try...catch来处理,这是为什么呢。按照我们异常处理的知识,如果一个方法通过throws抛出了异常,那么可以在抛出异常的方法中不适用try...catch,但是在调用这个方法的地方必须有try...catch来处理。可以发现NumberFormatException是RuntimeException的子类,那么这就需要我们清楚Exception和RuntimeException的概念: Exception:在程序中必须使用try...catch进行处理。 RuntimeException:可以不使用try...catch进行处理,但是如果有异常产生,则异常将由JVM进行处理。对于RuntimeException的子类最好也使用异常处理机制。虽然RuntimeException的异常可以不使用try...catch进行处理,但是如果一旦发生异常,则肯定会导致程序中断执行,所以,为了保证程序再出错后依然可以执行,在开发代码时最好使用try...catch的异常处理机制进行处理。