如何理解对Java的异常

技术如何理解对Java的异常这篇文章主要介绍“如何理解对Java的异常”,在日常操作中,相信很多人在如何理解对Java的异常问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解对Java

本文主要介绍“如何理解Java的异常”。在日常操作中,相信很多人对于如何理解Java的异常都有疑问。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮助大家解决“如何理解Java的异常”的疑惑!接下来,请和边肖一起学习!

背景

无论是在工作中,还是在面试中,异常都是非常重要的。作为Java开发人员,有必要学习如何处理异常,哪些异常必须自己处理,哪些异常可以抛出等等。

生活中总有意想不到的惊喜和意外,我们的代码也是如此。

如何理解对Java的异常

如果你不明白,佛陀就不能保佑你。

今天,我们来谈谈Java异常。我们可以把Throwable作为Java异常的根类(祖先)。由于实现类太多,下面列出了一些常见的实现类。

如何理解对Java的异常

Error

错误:程序不需要处理的系统级错误和异常,是Java运行环境中的内部错误或硬件问题。

例如,内存资源不足。

对于这种错误,程序基本上无能为力,别无选择,只能退出运行。它由Java虚拟机抛出。

Exception

异常:表示需要被程序捕获或处理的异常。它处理由程序设计缺陷引起的问题或由外部输入引起的一般问题,这些问题必须由程序处理。

异常分为运行时异常和检查异常。

RuntimeException(运行时异常)

表示程序无法恢复的异常。原因通常是错误的操作。建议终止逻辑。因此,编译器不会检查这些异常。

CheckedException(受检查异常)

是程序可以处理的异常,也就是可以修复的异常(程序本身接受异常并进行处理),所以称为checked exception。

有两种方法可以处理已检查的异常:

当前的方法显然知道如何处理异常,所以程序应该使用try – catch代码块来捕获异常,然后在相应的catch模块中修复异常。

当前的方法不知道如何处理这个异常,所以当它应该被定义时,它声明它已经用完了。

如何理解对Java的异常

Throwable 类常用方法?

GetMessage()方法:在异常发生时返回详细信息。

GetCause()方法:获取导致当前可抛出异常的可抛出异常。

GetStackTrace()方法:获取Throwable对象封装的异常信息。

PrintStackTrace()方法:在控制台上打印。

请列出 5 个运行时常见异常?

NullPointerException

IndexOutOfBoundsException

ClassCastException

ArrayStoreException

BufferOverflowException异常

异常处理有哪些关键字?

抛出异常:抛出,抛出。

异常被捕获:尝试,捕获,最后。

如何理解对Java的异常

throw 与 throws 的区别 ?

Throw,用于在程序中显式抛出异常实例。

抛出,用于指示此方法中未处理的异常。每个方法都必须明确指出哪些异常没有被处理,以便方法的调用方可以防止可能的异常。最后,多个异常用逗号分隔。

异常处理中的Finally语句。

块的重要性?

不管程序是否发生了异常, finally 语句块都会被执行,甚至当没有catch 声明但抛出了一个异常时, finally 语句块也会被执行。

finally 语句块通常用于释放资源,如 I/O 缓冲区、数据库连接、释放锁等等。

异常使用方式

如何理解对Java的异常

异常处理规则

如何理解对Java的异常

如何自定义异常?

除了JDK定义好的异常类以外,在开发过程中我们也可以根据业务的异常情况自定义异常类。

用户自定义异常都应该继承Exception基类,如果用户想自定义Runtime异常,则应该继承RuntimeException基类。

定义异常时,通常有两个构造方法:

  • 无参构造方法

  • 有参构造方法,这个参数是字符串,这个字符串作为对该异常信息描述,也就是getMessage()方法的返回值(比如说:“用户密码有误”、“xx接口返回参数为空”等)。

不过在项目中可能没这么简单,可能还会对其进行再次封装。

但是基本上都是有两个参数:code+msg;

code:主要是对业务中的异常进行归类,结合Http的code来定义。

msg:主要是业务异常的信息提示。

如何理解对Java的异常

你们项目中的自定义异常类是如何封装的呢?不知道的就回去翻翻你们项目中的自定义是如何写的,这就把学习和实践结合起来了。

到此,关于“如何理解对Java的异常”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/43712.html

(0)

相关推荐

  • Spark Join原理是什么

    技术Spark Join原理是什么这篇文章将为大家详细讲解有关Spark Join原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。数据分析中将两个数据集进行 Jo

    攻略 2021年12月3日
  • oracle 11g(oracle 11g 安装)

    技术orcle 11g rac crs状态正常但节点2数据库未启动怎么办小编给大家分享一下orcle 11g rac crs状态正常但节点2数据库未启动怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,

    攻略 2021年12月18日
  • 互联网中元宇宙概念指的是什么意思

    技术互联网中元宇宙概念指的是什么意思这篇文章将为大家详细讲解有关互联网中元宇宙概念指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 元宇宙不是特

    攻略 2021年11月2日
  • JBuilder 6如何用Borland方式的Java集成开发环境

    技术JBuilder 6如何用Borland方式的Java集成开发环境JBuilder 6如何用Borland方式的Java集成开发环境,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇

    攻略 2021年12月2日
  • 如何进行Nginx内核优化的源代码分析

    技术如何进行Nginx内核优化的源代码分析如何进行Nginx内核优化的源代码分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Nginx内核

    攻略 2021年11月25日
  • 如何安装系统监控工具glances

    技术如何安装系统监控工具glances本篇文章为大家展示了如何安装系统监控工具glances,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。作为运维不仅要时时监控系统,还需要优雅的

    攻略 2021年12月9日