如何理解对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)

相关推荐

  • python程序二叉树最大深度(怎样求二叉树的深度用python)

    技术如何找出python二叉树的最大深度这期内容当中小编将会给大家带来有关如何找出python二叉树的最大深度,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1,问题简述 给定一

    攻略 2021年12月13日
  • 小程序微信支付

    技术小程序微信支付 小程序微信支付实现前布置
    1:下载官方微信支付SDK(‘https://pay.weixin.qq.com/wiki/doc/api/index.html’)
    2:引入开发框架(我写

    礼包 2021年11月10日
  • Python装饰器的相关知识点有哪些

    技术Python装饰器的相关知识点有哪些这篇文章主要介绍“Python装饰器的相关知识点有哪些”,在日常操作中,相信很多人在Python装饰器的相关知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法

    攻略 2021年11月2日
  • 如何实现mvvmlight与icommand类

    技术如何实现mvvmlight与icommand类小编给大家分享一下如何实现mvvmlight与icommand类,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们

    攻略 2021年11月23日
  • apache spark处理安全日志(apache远程执行漏洞)

    技术Apache Spark远程代码执行漏洞怎么解决本篇内容介绍了“Apache Spark远程代码执行漏洞怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这

    攻略 2021年12月16日
  • 怎么交养老保险,养老保险怎么交,去哪里交

    技术怎么交养老保险,养老保险怎么交,去哪里交您可以申请缴纳灵活就业养老保险,像您月入8000元需要还贷款多少钱那?年轻人能有缴纳社保是好的开始,接下来我们就详细说明灵活就业人员养老保险如何申请缴纳怎么交养老保险;首先我们

    生活 2021年10月31日