JAVA异常处理

1、认识异常 一场是指在程序运行过程中所发生的不正常事件

 

if-else语句进行异常处理缺点

1)代码臃肿

2)开放效率低

3)不健全,很难穷举所有的异常

4)影响代码的可读性,是代码更难维护

 

2、Java中的异常类

    ①所有的异常类心都是Throwable类的子类

Throwable类  包含: 

    1) Error类:表示仅靠程序本身无法恢复的严重错误(内存溢出动态链接失败,虚拟机错                                    误)

     2)Exception类:由Java程序抛出和处理的非严重错误(文件找不到,网络连接不同或者连接中断、算术运算出错、数组下标越界)

     Exception类又包括两大类:

     ①运行异常:RuntimeException 及其子类

     ②Checked异常(非运行时异常)

  • 异常说明
    Exception异常层级结构的根类
    ArithmeticException算数错误异常,如一零作为除数
    ArrayIndexOutOfBoundsException数组下标越界
    NullPointerException尝试访问null对象成员
    ClassNotFoundException不能加载所需的类
    InpMismatException欲得到的数据类型与实际输入的类型不匹配
    IllegalArgumentException方法接收到非法参数
    ClassCastException对象强制类型转换错误
    NumberFormatException数字格式化转换异常,如把"abc"转换成数字

     

Java异常处理通过5个关键字来实现:try、catch、finally、throw、throws

1、try-catch

1)如果try语句块中所有的语句正常执行完毕,没有发生异常那么catch语句块不执行

2)try语句块中出现异常,并且这个异常与catch语句块中声明的异常类型匹配,执行匹配的异常类型,那么try语句块中剩下的代码不执行

3)发生异常,catch中没有相匹配的异常类型那么方法直接退出

常用方法

void printStackTrace():输出异常的堆栈信息

String getMessage():返回异常信息描述字符串,该字符串描述了异常产生的原因

printStackTrace()输出信息的一部分

 

2、try-catch-finally

1)try语句块中的所有语句正常执行,finally也会被执行

2)try语句块在执行过程中发生异常,无论这种异常能否被catch快捕获都执行finally语句块中的代码

 注意*try-catch-finally结构中try语句快必须存在,catch、finally其中至少出现一个

catch语句块中有return关键字finally 语句块也会执行

 


1、throws(抛出异常)

通过try-catch捕获异常

throws抛出异常

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值