异常

异常处理

1、异常的定义:在程序运行过程中,由于语法或逻辑错误,导致程序中断,

    无法继续运行,称为程序异常。

try与catch关键字在程序中出现异常,就必须进行处理,处理格式如下:

try{// 有可能发生异常的代码段

}catch(异常类型 对象){

// 异常的处理操作

}catch(异常类型 对象){

// 异常的处理操作

} ...finally{

// 异常的统一出口

}

  JAVA中异常父类:Throwable

Throwable分为:Error和 Exception,Error表示错误,是 JVM 内部发生的异常,程序无法控制,一般程序员不用关心,Exception表示程序异常, Exception分为:

(1)受检异常,又称为编译时异常,必须使用try语句处理,或抛出

(2)非受检异常,又称为运行时异常,从代码上区别,继承RuntimeException 或其子类的异常,称为运行时异常。运行时异常可以不用处理。

    在JAVA 中,为我们提供了以下关键字来处理异常:

    try:尝试。把有可能出现异常情况的代码段,使用try语句块包裹起来,当这个代码段出现异常后,系统将会自动生成一个对应的异常对象,然后把该对象传递给

        catch语句块。

    catch:捕获。与try语句一起使用,当try代码段有异常出现,会把异常对象传入到catch语句块中,由程序进行处理。catch语句块可以有一个或多个,不能单独使用。当有多个catch语句时,顺序必须由子类在前父类在后。

    finally:最终的。与try语句块一起使用,无论try语句是否出现异常,最终都会执行finally块中的代码。

 

    throw:抛出。程序可以把一个异常对象抛出,由调用该代码的地方处理。

 

    throws:抛出。在方法声明中使用。与throw关键字一起配合使用。

 

异常类,其实就是一种标记,起到一种语意的作用。构造方法实现的

常用的异常类:

ClassNotFoundException:类找不到

RuntimeException:运行时异常

SQLException:SQL操作异常

IOException:输入输出异常

ArithmeticException:算术异常

ClassCastException:类型转换

IndexOutOfBoundsException:下标越界

NullPointerException:空指针

 IllegalArgumentException:非法参数

 InputMismatchException :输入不匹配

 

异常的产生过程:

当被某句代码出现异常(在编译期、运行期),系统会产生该异常对应的异常类对象,如

果此时该代码在try语句块中,那么会从catch代码块匹配相应的异常类型,如果匹配成功,

会把该异常对象传给catch中声明的异常变量,然后执行catch语句块中的代码。其它catch

将不会执行;如果没有匹配成功的catch,那么会把该异常实例抛给 JVM,结束。如果出

现异常的代码没有使用try语句,那么产生的异常实例将直接抛给 JVM,JVM 的处理方式

是,中断程序的运行。

 

自定义异常

在实际开发中,我们把业务逻辑性的错误定义为异常,这样的好处是,我们可以利用

异常的机制来处理程序,在多层调用时,可以很方便的处理问题。

例如:

(1)登录验证异常

(2)权限控制异常

(3)其它业务逻辑异常

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值