您的位置:首页 > 其它

Exception与RuntimeException的区别(异常的基本概念)

2014-02-21 19:19 387 查看
Exception与RuntimeException的区别(异常的基本概念)

首先观察一下代码:

public classRuntimeExceptionDemo
{
public static void main(String args[])
{
String str1="21";//定义字符串
int temp=Integer.parseInt(str1);//将字符串变成INT型
System.out.println(temp*temp);//输出乘方
}
}


编译---运行后发现没有问题!其中用到了parseInt()方法。

parseInt()的定义格式:

 由API文档可知:public static int parseInt(String s,

                          int radix)
                   throws
NumberFormatException
在此方法中用了throws关键字抛出异常,可是不用捕获处理异常就编译成功了!通过查找可知如下关系
java.lang.Object

      java.lang.Throwable

         java.lang.Exception

             java.lang.RuntimeException

                 java.lang.IllegalArgumentException

                       java.lang.NumberFormatException

其中
Exception
RuntimeException
IllegalArgumentException
NumberFormatException
为继承关系!但是我们抛出RuntimeExeption的子类lang.NumberFormatException没有需要执行try...catch,如果抛出的是Excption则需要执行try...catch;


我们得出结论:
   在Java的异常处理机制中:
1.如果抛出的是Exception的类型,则必须使用try…catch进行处理!
2.如果抛出的是RuntimeException的类型,则不是必须使用try…catch处理,一旦发生异常之后将有JVM进行处理!但是为了保证代码的健康性,建议在可能有异常的地方使用try…catch进行处理!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐