Exception

Throwable是所有Java程序中错误处理的父类

子类有:Error和Exception。
  • Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象(一般是由虚拟机抛出).假如出现这种错误,除了尽力使程序安全退出外,在其他方面是无能为力的.

  • Exception:是可捕捉到的,分为运行时异常 (runtime exception)和非运行时异常(checked exception)
    运行时异常 (runtime exception),我们可以不处理,总是由虚拟机接 管。比如:我们从来没有人去处理过

    • NullPointerException
    • ClassCastException
    • IndexOutOfBoundsException

    这些错误一定是程序员的错误.可以通过检查数组下标和数组边界来避免数组越界访问异常
    出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了


非运行时异常(checked exception),必须要对其进行处理,否则无法通过编译

例如以下三个,所以必须try…catch或throw 出去

b.getBinaryStream();//SQLException
is.read()//IOException
baos.toString("utf-8");//UnsupportedEncodingException
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值