Exception与RuntimeException的区别(异常的基本概念)
2014-02-21 19:19
387 查看
Exception与RuntimeException的区别(异常的基本概念)
首先观察一下代码:
编译---运行后发现没有问题!其中用到了parseInt()方法。
parseInt()的定义格式:
int radix)
throws
NumberFormatException
在此方法中用了throws关键字抛出异常,可是不用捕获处理异常就编译成功了!通过查找可知如下关系
其中
我们得出结论:
在Java的异常处理机制中:
1.如果抛出的是Exception的类型,则必须使用try…catch进行处理!
2.如果抛出的是RuntimeException的类型,则不是必须使用try…catch处理,一旦发生异常之后将有JVM进行处理!但是为了保证代码的健康性,建议在可能有异常的地方使用try…catch进行处理!
首先观察一下代码:
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进行处理!
相关文章推荐
- 异常----RuntimeException与其他的一些区别以及throw与throws的区别
- 异常----RuntimeException与其他的一些区别以及throw与throws的区别
- java 异常之Exception与RuntimeException的区别
- 异常----RuntimeException与其他的一些区别以及throw与throws的区别
- 异常----RuntimeException与其他的一些区别以及throw与throws的区别
- 异常----RuntimeException与其他的一些区别以及throw与throws的区别
- 异常----RuntimeException与其他的一些区别以及throw与throws的区别
- 异常----RuntimeException与其他的一些区别以及throw与throws的区别
- 异常----RuntimeException与其他的一些区别以及throw与throws的区别
- 详解Java异常Throwable、Error、Exception、RuntimeException的区别
- 异常----RuntimeException与其他的一些区别以及throw与throws的区别
- 异常----RuntimeException与其他的一些区别以及throw与throws的区别
- 异常概述、try-catch、异常声明、多异常处理、自定义异常、RuntimeException
- 【异常的基本概念】_异常的基本概念笔记
- WIN7SP1 Crystal Reports异常:System.Runtime.InteropServices.ComException(0x800003E7)
- Exception in thread "main" java.lang.RuntimeException: java.sql.SQLException: Io 异常: The Network Ada
- error和exception(错误跟异常)有什么区别
- Java常见异常(Runtime Exception )小结
- 为什么我的Class.forName()抛出的异常不是ClassNotFoundException,而是RuntimeException?
- struts 2.2.1做例子时报异常:java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 解决