Error and Exception

exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况.

error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出,VirtualMachineError ,ThreadDeath ,LinkageError 。不可能指望程序能处理这样的情况。 另一方面,error 是虚拟机的问题(通常是这样,但也可能是操作系统的问题)。引用Java 文档中关于error 的说明:“Error 是Throwable 的子类,它的出现说明出现了严重的问题。

error 跟exception 抛出的方式大体相同的,只有一点不同。就是一个抛出error 的方法不需要对此进行声明

简要的叙述 error 和 exception

Error 和 Exception 都继承自 Throwable ,他们下列不同处:
Exceptions
1 .可以是 可被控制 (checked) 或 不可控制的 (unchecked)
2 .表示一个由程序员导致的错误
3 .应该在应用程序级被处理
Errors
1 .总是 不可控制的 (unchecked)
2 .经常用来用于表示系统错误或低层资源的错误
3 .如何可能的话,应该在系统级被捕捉


无论是 checkException Runtime Exception 还是 Error 都是继承自 Throwable


异常:

Java 提供了两种 Exception 的模式,一种是执行的时候所产生的 Exception (Runtime Exception) , 另外一种则是受控制的 Exception (Checked Exception) 。所有的 Checked Exception 均从 java.lang.Exception 继承而来,而 Runtime Exception 则继承 java.lang.RuntimeException 或 java.lang.Error ( 实际上 java.lang.RuntimeException 的上一层也是 java.lang.Exception) 。
Checked Exception 中,并不表示这段程序码一定会收到 CException ,但它的用意在于提醒呼叫者,执行这个 method 可能产生的意外,而使用者也必须要能针对这个意外做出相对应的处理方式。
程序在执行的时候,也不见得会真的产生 NullPointerException ,这种 Exception 叫做 runtime exception 也有人称为 unchecked exception ,产生 Runtime Exception 的 method ( 在这个范例中是 method2) 并不需要在宣告 method 的时候定义它将会产生哪一种 Exception
一般而言, Checked Exception 表示这个 Exception 必须要被处理,也就是说程序设计者应该已经知道可能会收到某个 Exception( 因为要 try catch 住 ) ,所以程序设计者应该能针对这些不同的 Checked Exception 做出不同的处理。
  而 Runtime Exception 通常会暗示着程序上的错误,这种错误会导致程序设计者无法处理,而造成程序无法继续执行下去。


RuntimeException 如: IllegalArgumentException , IndexOutOfBoundsException , NullPointerException , SecurityException , 等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值