java中的异常机制的简单原理及分类

java中异常处理机制的简单原理

    异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。遇到错误后,方法立即返回,并不返回一个值,同时抛出一个异常对象,调用该方法的程序也不会继续执行下去,而是搜索一个可以处理该异常的异常处理器,并执行其中的代码。

    异常的分类:

    基类是Throwable。

    Error和Exception继承Throwable。

    RumtimeException和IOException等继承Exception,具体的RuntimeException继承RuntimeException。

    Error类体系

    描述了java运行系统中的内部错误以及资源耗尽的情形。应用程序不应该抛出这种类型的对象(一般都是由jvm抛出)。如果出现这种错误,除了尽力使程序安全退出外,在其他方面是无能为力的。所以,在进行程序设计时,应该更关注Exception体系。

    Exception类体系

    Exception体系包括RuntimeException体系和非RuntimeException的体系。

    其中RuntimeException体系包括错误类型的转换、数组越界访问和试图访问空指针等等。处理RuntimeException的原则是:如果出现RuntimeException,那么一定是程序员的错误。例如,可以通过检查数组下标和数组边界来避免数组越界访问异常。

    其他非RuntimeException异常(如IOExcption等等)

    这类异常一般是外部错误,例如试图从文件尾部读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。

    

    C++中异常分类和java中异常分类的不同之处

    其实,在java中RuntimeException这个类名起的并不恰当,因为任何异常都是运行时出现的(在编译时出现的错误并不是异常,换句话说,异常就是为了解决程序运行时出现的错误)。

    C++中logic_error与java中的RuntimeException是等价的,而runtime_error与java中非RuntimeException类型的异常是等价的。

   java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值