(一)异常处理机制详解

 

# 前言

  本文主要是对Java异常处理机制的阐述,了解Java的异常机制的设计和分类,及Java异常有哪些坑,如何在自定义异常类时避免采坑。

# 异常机制分类

 

  异常情况是指阻止当前方法或作用域继续继续执行的情况。在Java中异常也是对象,我们可以像创建其他对象一样,用new在堆上创建异常对象。
从上图可以看到Throwable是所有异常类型的根类,它有两个重要的子类:Exception和Error。

  •  Error(错误)

  Error表示编译时和系统错误(除特殊情况外我们无需关注),比如代码允许是JVM运行错误,或内存不足时OutOfMemoryError。

  •  Exception(异常)

  Exception是可以抛出/处理的异常。在Java类库、用户方法及运行时故障都可能抛出Exception类型异常,我们程序员需要关注的主要是Exception。它又分为运行时异常和非运行时异常。

  运行时异常:由RuntimeException和其子类异常组成。比如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)。这些异常通常是非受检异常,可以捕获处理或者不处理。一般有程序逻辑引起的。运行时异常的特点是Java编译器编译时不会检查它,就算有这种异常编译也能通过,究其原因,RuntimeException代表的是编程错误。

  非运行时异常:包括RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如IOException、SQLException等以及用户自定义的Exception异常。

# try-catch-finally捕获异常

  在Java中使用try-catch或者try-catch-finally捕获异常。

## try块

  对于有可能出现异常情况的代码块Code,我们可以把它放在try块里。

1
2
3
try {
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信