Java基础-异常处理

 Java基础-第一节-异常处理

Java语言将程序运行过程中所发生的不正常严重错误称为异常,对异常的处理称为异常处理。

它会中断正在运行的程序,正因为如此异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点。

Throwable有两个直接子类,Error类和Exception类。

ØError : 指合理的应用程序在执行过程中发生的严重问题。当程序发生这种严重错误时,通常的做法是通知用户并中止程序的执行。

ØException:异常可分为运行时异常(RuntimeException)和检查时异常(CheckedException)两种

     1.RuntimeException:运行时异常,即程序运行时抛出的异常。这种异常在写代码时不进行处理,Java源文件也能编译通过。 RuntimeException异常类及其下面的子类均为运行时异常。

2.CheckedException:检查时异常,又称为非运行时异常,这样的异常必须在编程时进行处理,否则就会编译不通过。Exception异常类及其子类(除去RuntimeException异常类及其子类)都是检查时异常。

常见异常

异常名

说明

Exception

异常类的根类

RuntimeException

运行时异常类的基类

ArithmeticException

算术错误情形,如以零作除数

ArrayIndexOutOfBoundException

数组大小小于或大于实际的数组大小

NullPointerException

尝试访问  null 对象成员

ClassNotFoundException

不能加载所需的类

NumberFormatException

数字转化格式异常,字符串到 float 转换无效

IOException

I/O 异常的根类

FileNotFoundException

找不到文件

SQLException

数据库访问异常

InterruptedException

线程被中断异常

处理异常

Java中对异常的处理有如下两种方式:

Ø通过trycatchfinally关键字捕获异常;

Ø通过throwthrows关键字抛出异常;

try…catch…finally异常处理结构中,try语句块是必须的,  catchfinally语句块至少出现一个。

注意如果try语句块包含的是检查时异常,则在没有通过throws抛出该异常类的情况下,try必须和catch一起使用,当该行代码去掉或注销掉时,catch相应的异常语句块必须去掉,如下代码:

try语句块中的代码可能会引发多种类型的异常,当引发异常时,会按顺序查看每个 catch 语句,并执行第一个与异常类型匹配的catch语句,其后 catch 语句被忽略。

在捕获异常的时候,应按照“从小到大”的顺序捕获异常,即先子类后父类。

Java异常在try/catch块后加入finally块,可以确保无论是否发生异常 finally块中的代码总能被执行。

猜你喜欢

转载自blog.csdn.net/monster_ayb/article/details/81428819