服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java:详解Java中的异常

Java:详解Java中的异常

2021-12-06 12:44weixin_45750514 Java教程

这篇文章主要介绍了java中的异常,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Java异常

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

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

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

常见异常

Java:详解Java中的异常

异常的处理 :通过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类中的方法,用于垃圾回收

总结

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

原文链接:https://blog.csdn.net/weixin_45750514/article/details/119804612

延伸 · 阅读

精彩推荐
  • Java教程java基础知识I/O流使用详解

    java基础知识I/O流使用详解

    编程语言的I/O类库中常常使用流这个抽象的概念,它代表任何有能力产生数据的数据源对象或时有能力接收数据的接收端对象,本文为大家介绍Java中I/O系统...

    java技术网3222019-10-27
  • Java教程java动态代理实现代码

    java动态代理实现代码

    这篇文章主要介绍了java 动态代理的的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下,希望能给你带来帮助...

    香菜聊游戏7672021-10-07
  • Java教程Java正则匹配中文的方法实例分析

    Java正则匹配中文的方法实例分析

    这篇文章主要介绍了Java正则匹配中文的方法,结合实例形式分析了Java针对中文、标点及引号等匹配操作相关技巧,需要的朋友可以参考下...

    kinkding4672020-08-22
  • Java教程使用@JsonFormat和@DateTimeFormat对Date格式化操作

    使用@JsonFormat和@DateTimeFormat对Date格式化操作

    这篇文章主要介绍了使用@JsonFormat和@DateTimeFormat对Date格式化操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    承文全6752021-11-12
  • Java教程spring task 定时任务实现示例

    spring task 定时任务实现示例

    本篇文章主要介绍了spring task 定时任务实现示例,具有一定的参考价值,有兴趣的可以了解一下。...

    简单丶爱4672020-07-28
  • Java教程JDK新特性-Lambda表达式的神操作

    JDK新特性-Lambda表达式的神操作

    Java8 引入 Lambda表达式是接收了函数式编程语言的思想,和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。引入 Lambda表达式是接收了函数...

    牧小农9942021-05-05
  • Java教程Idea工具中创建 SpringBoot工程及入门详解

    Idea工具中创建 SpringBoot工程及入门详解

    这篇文章主要介绍了Idea工具中创建 SpringBoot工程及入门分析详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可...

    SegmentFault博客9322021-08-04
  • Java教程中国Java开发者人数最多丨2020Java现状报告

    中国Java开发者人数最多丨2020Java现状报告

    今年,Java 迎来了 25 周年的里程碑。我们决定对数据进行深入研究,以了解 Java 的普遍现状是怎样的,并回答一些亟待解决的问题。...

    架构头条4652020-10-15