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

相关推荐

  • 租用美国服务器建站的5个注意点美国服务器

    技术租用美国服务器建站的5个注意点美国服务器虽然在租用美国服务器的时候,不同的网站需要的配置也不一样,但是无论有什么特殊需求,每个网站所有者都应该在美国服务器租用中坚持五件事。 1. 高水平的正常运行时间 对于以提供内容

    礼包 2021年10月20日
  • Python爬虫怎么把教程转换成PDF电子书

    技术Python爬虫怎么把教程转换成PDF电子书本篇内容介绍了“Python爬虫怎么把教程转换成PDF电子书”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧

    攻略 2021年11月29日
  • MySQL主从同步和读写分离如何配置

    技术MySQL主从同步和读写分离如何配置这篇文章主要为大家展示了“MySQL主从同步和读写分离如何配置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL主从同步和读写分

    攻略 2021年12月8日
  • ajax技术的用法(ajax技术怎么用)

    技术Ajax技术怎么用这篇文章主要介绍了Ajax技术怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 ajax的作用有:1

    攻略 2021年12月17日
  • MySQL如何在线开启/关闭GTID

    技术MySQL如何在线开启/关闭GTID小编给大家分享一下MySQL如何在线开启/关闭GTID,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一

    攻略 2021年11月6日
  • 如何使用Ranger给HDFS授权

    技术如何使用Ranger给HDFS授权这篇文章给大家介绍如何使用Ranger给HDFS授权,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。主要介绍如何使用Ranger 给HDFS 授权。文档概述1.介

    攻略 2021年11月2日