exception和runtimeexception的区别,异常的转换,异常在运行过程中的分析
2014-04-30 00:00
295 查看
exception和runtimeexception的区别,异常的转换,异常在运行过程中的分析
1 exception和runtimeexception的区别分析
异常的超级父类是throwable,实现的2个子类是error和exception,error是错误类,这里不做分析。
Exception下面有众多子类,就是众多异常。Exception异常主要分为两个类型,一个是runtimeException和它的子类,还有一种就是除此之外的异常类。
先分析runtimeexception以及它的子类,这个类型的异常的特点是不必在方法中声明,调用者不需要知道异常的可能存在,也不必去处理异常。原因是这个类型的异常并不是由程序的功能不完善或者程序本身造成的异常,而是由程序员在调用程序时由于自己的操作而导致的异常的发生,比如:数组角标越界异常。程序员在运行完程序后,得知异常的提示,可以马上通过正确的调用去改正它。
除了runtimeexception以及它的子类以外的异常类,都需要在方法中声明,这类异常都是由于程序本身功能的不完善,需要提醒调用者可能会出现的异常,这样的异常怎么去处理会在异常的运行过程的分析中提到。
2异常的转换
异常的转换代码体现是在通过try catch语句捕获异常后并没有在catch的语句里处理该异常,而是继续以新的异常抛出,抛出的异常由原来的异常转换为另一种异常来等待处理。
代码:
Try{}catch(Exception e){throw new Exception(“这里是转换后的异常”)}
异常的转换通常用在这样的需求下:你去atm上取钱,发现钱出的少了,你打电话给银行,银行肯定不会立马来处理这个异常,这时,你需要把你的异常转换下,你打电话告诉银行,钱出的多了,银行会立马来处理这个异常。这个例子就是异常的转换。
3异常在运行过程中的分析
异常可以在方法中声明抛出,也可以在语句中抛出。
在语句中抛出异常,那么这个语句所在的方法就接到了这个异常,方法就有2个选择:继续抛出或者处理,抛出就在方法上抛出即可,处理的话用try,catch对抛出异常的语句处理即可。方法如果继续抛出,那么调用这个方法的调用语句所在的方法就会接住这个异常,调用者同样有上述的两个选择。如果最后的主方法也没有处理,那么异常就会体现在项目,作品上。
1 exception和runtimeexception的区别分析
异常的超级父类是throwable,实现的2个子类是error和exception,error是错误类,这里不做分析。
Exception下面有众多子类,就是众多异常。Exception异常主要分为两个类型,一个是runtimeException和它的子类,还有一种就是除此之外的异常类。
先分析runtimeexception以及它的子类,这个类型的异常的特点是不必在方法中声明,调用者不需要知道异常的可能存在,也不必去处理异常。原因是这个类型的异常并不是由程序的功能不完善或者程序本身造成的异常,而是由程序员在调用程序时由于自己的操作而导致的异常的发生,比如:数组角标越界异常。程序员在运行完程序后,得知异常的提示,可以马上通过正确的调用去改正它。
除了runtimeexception以及它的子类以外的异常类,都需要在方法中声明,这类异常都是由于程序本身功能的不完善,需要提醒调用者可能会出现的异常,这样的异常怎么去处理会在异常的运行过程的分析中提到。
2异常的转换
异常的转换代码体现是在通过try catch语句捕获异常后并没有在catch的语句里处理该异常,而是继续以新的异常抛出,抛出的异常由原来的异常转换为另一种异常来等待处理。
代码:
Try{}catch(Exception e){throw new Exception(“这里是转换后的异常”)}
异常的转换通常用在这样的需求下:你去atm上取钱,发现钱出的少了,你打电话给银行,银行肯定不会立马来处理这个异常,这时,你需要把你的异常转换下,你打电话告诉银行,钱出的多了,银行会立马来处理这个异常。这个例子就是异常的转换。
3异常在运行过程中的分析
异常可以在方法中声明抛出,也可以在语句中抛出。
在语句中抛出异常,那么这个语句所在的方法就接到了这个异常,方法就有2个选择:继续抛出或者处理,抛出就在方法上抛出即可,处理的话用try,catch对抛出异常的语句处理即可。方法如果继续抛出,那么调用这个方法的调用语句所在的方法就会接住这个异常,调用者同样有上述的两个选择。如果最后的主方法也没有处理,那么异常就会体现在项目,作品上。
相关文章推荐
- Java_error与Exception的区别,以及受控异常与运行时异常的区别
- 数组转换为List后add或remove出现UnsupportedOperationException异常分析
- EF 正在运行转换: System.Reflection.TargetInvocationException: 调用的目标发生了异常。
- mysql 事务 catch到异常 不提交,与RollBack()区别与过程分析
- RuntimeException和Exception区别(运行时异常和普通异常)
- Java_error与Exception的区别,以及受控异常与运行时异常的区别
- 数组转换为List后add或remove出现UnsupportedOperationException异常分析
- java.util.ConcurrentModificationException 异常的分析
- storm-0.8.2源码分析之nimbus运行过程(一)
- 自己实现一个SQL解析引擎 功能:将用户输入的SQL语句序列转换为一个可执行的操作序列,并返回查询的结果集。 SQL的解析引擎包括查询编译与查询优化和查询的运行,主要包括3个步骤: 查询分析
- ARM的异常处理过程分析
- SpringMVC:DispatcherServlet代码分析及运行过程
- SpirngMVC AOP 用注解方式配置切面及IllegalArgumentException: error at ::0 formal unbound in pointcut 异常分析
- 配置SharePoint 2007 过程中引发Microsoft.SharePoint.Upgrade.SPUpgradeException 异常(未能创建配置数据库)的一个解决方法
- Mybatis源码分析之存储过程调用和运行流程
- 【分享】分析busybox中init程序的运行过程
- JSP运行原理以及执行过程源码分析
- 运行时异常和非运行时异常的区别?
- Java--异常与错误区别 Error and Exception
- java.util.ConcurrentModificationException异常分析