Java:详解Java中的异常

 更新时间:2021年08月26日 10:19:19   作者:https://blog.csdn.net/weixin_45750514/article/details/119804612  
这篇文章主要介绍了java中的异常,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Java异常

Java中的异常:又称例外,是一个在程序执行期间发生的事件,它中断正在执行程序的正常指令流

异常的分类:Throwable:类是java语言中所有错误或异常的超类,这意味着只要指示错误或异常,那么肯定是thrawble子类的实例,但是事实上由于错误异常内容过于庞大,所以设计人员将它们分开来,这就是thrawble的两个子类,Error和Exception

  • Error类是负责错误,它指程序运行的时候遇到硬件或操作系统的错误,这些错误都是严重并且致命的,是依靠程序自身无法解决的。
  • Exception是运行时的错误,它可以被捕获并处理(运行时异常:RuntimeException类及其子类异常,这些异常都是不检查异常,程序中可以选择捕获处理,也可以不处理,这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。非运行时异常:RuntimeException以外的异常,类型上都属于Exception类及其子类,从语法角度上讲是必须处理的异常,如果不处理,程序就不能通过编译)

常见异常

 

异常的处理 :通过5个关键字控制 try catch throw throws finally

  • 捕获异常 try里面的代码越少越好 catch中必须含有内容,哪怕是简单的提示

try{可能出现异常的代码}catch(异常的类名 变量名){针对异常的处理方式}finally{释放资源}

try{可能出现异常的代码}catch(异常的类名 变量名){针对异常的处理方式}

try{可能出现异常的代码}catch(异常的类名1 变量名){针对异常的处理方式}catch(异常的类名2 变量名){针对异常的处理方式}...

  • 编译期异常和运行期异常

运行期异常:代码不够严谨,需要修改代码

编译期异常:必须处理,否则编译不通过

  • Throwable

String getMessage() 详细信息字符串

String toString() 返回异常的简短描述

  • throws 抛出异常 必须写在方法声明的后面 尽量不要在主方法上抛出异常

throws 异常类名

  • throw 在方法内部主动抛出的异常

throw 异常的对象

  • finally 保证资源一定得到释放

try{可能出现异常的代码}catch(异常的类名 变量名){针对异常的处理方式}finally{释放资源}

  • 自定义异常

继承Exception(编译期异常)

继承RunTimeException(运行期异常)

throw和throws的区别

1.前者写在方法内部 后者写在方法声明的后面

2.前者后面跟的是异常对象 后者跟的是异常类名

3.前者后面只能是一个异常对象 后者可以跟多个一场类名

final、finally、finalize的区别

final

  • 修饰类 类不能被继承
  • 修饰方法 方法不能被覆盖
  • 修饰变量 变量为常量只能赋值一次

finally:异常处理中的组成部分,作用是释放资源,放在finally中的代码一定会执行

finalize:是Object类中的方法,用于垃圾回收

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • SpringBoot实现token登录的示例代码

    SpringBoot实现token登录的示例代码

    在进行登录验证时,我们需要session或cookie会话进行验证,当我们脱离浏览器用app等向服务端发请求就没有session和cookie机制,这时我们就需要使用token令牌进行登录验证,本文就详细的介绍一下,感兴趣的可以了解一下
    2022-03-03
  • eclipse报错 eclipse启动报错解决方法

    eclipse报错 eclipse启动报错解决方法

    本文将介绍eclipse启动报错解决方法,需要了解的朋友可以参考下
    2012-11-11
  • Java数学工具类MathUtil详解

    Java数学工具类MathUtil详解

    这篇文章主要为大家详细介绍了Java数学工具类MathUtil的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • 详解Java如何利用位操作符创建位掩码

    详解Java如何利用位操作符创建位掩码

    在本文中,我们来看看如何使用位操作符实现低级别的位掩码。我们将看到我们如何将一个单一的int变量作为一个单独的数据容器,感兴趣的可以跟随小编一起学习一下
    2022-10-10
  • java开发就业信息管理系统

    java开发就业信息管理系统

    这篇文章主要为大家详细介绍了java开发就业信息管理平台,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 浅谈选择、冒泡排序,二分查找法以及一些for循环的灵活运用

    浅谈选择、冒泡排序,二分查找法以及一些for循环的灵活运用

    下面小编就为大家带来一篇浅谈选择、冒泡排序,二分查找法以及一些for循环的灵活运用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Java框架之Maven SSM集合

    Java框架之Maven SSM集合

    本篇文章主要介绍了基于maven的ssm框架整合的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-09-09
  • 如何通过properties文件配置web.xml中的参数

    如何通过properties文件配置web.xml中的参数

    这篇文章主要介绍了如何通过properties文件配置web.xml中的参数方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 手写一个@Valid字段校验器的示例代码

    手写一个@Valid字段校验器的示例代码

    这篇文章主要为大家详细介绍了如何手写一个@Valid字段校验器,文中的示例代码讲解详细,对我们学习有一定帮助,需要的可以参考一下
    2022-07-07
  • SpringBoot使用自定义注解实现权限拦截的示例

    SpringBoot使用自定义注解实现权限拦截的示例

    本篇文章主要介绍了SpringBoot使用自定义注解实现权限拦截的示例,具有一定的参考价值,有兴趣的可以了解一下
    2017-09-09

最新评论