iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java中关于异常的知识点有哪些
  • 407
分享到

Java中关于异常的知识点有哪些

2023-06-16 20:06:36 407人浏览 安东尼
摘要

本文小编为大家详细介绍“Java中关于异常的知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中关于异常的知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。3W原则哪都有的3W原则,JA

本文小编为大家详细介绍“Java中关于异常的知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中关于异常的知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

3W原则

哪都有的3W原则,JAVA异常也可以总结3W:what、where、why

  • what对应异常类型:回答了什么被抛出

  • where对应异常堆栈跟踪:回答了在哪抛出

  • why对应异常信息:回答了为什么被抛出

异常体系

Java中关于异常的知识点有哪些

上图我们看出Throwable是异常的***类,Error和Exception是他的子类。

Exception又分RuntimeException和非RuntimeException子类。

Error与Exception区别

我们看一下他们的概念定义:

(1) Error:程序无法处理的系统错误,编译器不做检查。

  • Error表示系统致命的错误,程序没法处理。一般是与JVM相关的问题,如系统崩溃,内存溢出,方法调用栈溢出等,如:经常遇到的StackOverflowError、OutOfMemoryError。这种类型的错误,编译器不做检查,都是系统运行过程中发生的。

  • 这些错误靠我们程序本身是无法处理与预防的,遇到了建议直接程序中止、重启。

(2) Exception:程序可以处理的异常,捕获后可处理。

  • Exception异常是程序能够捕获的,也可以做异常处理,我们要尽可能的去处理,使程序继续运行,而不是中止程序。

  • 总结一下就是Error是程序无法处理的错误,Exception是可以处理的异常。

RuntimeException与否区别

Java中关于异常的知识点有哪些

上图中Exception有两种类型的异常,我们来看一下。

(1) RuntimeException:不可预知的,程序应当自行避免

  • 何为不可预知?如:数组下标越界,访问对象空指针等,这种异常是我们小伙伴们在编写程序时要尽量避免。也就是我们程序员是能够避免的。

  • 如针对空指针异常,我们应该在编程的时候,加上空指针判断,if(obj == null)如何如何,这样就避免了空指针异常。

(2) 非RuntimeException:可预知的,编译器可检查的异常

  • 可预知,如:在我们打开一个文件时,如文件不存在引用的异常。

  • 这种异常编译器会检查出来,必须需要处理的。

  • 这个也称之为Checked Exception异常类型

责任归属

我们从责任角度看:

  • Error属于JVM需要承担的责任

  • RuntimeException是程序应该承担的责任

  • 非RuntimeException(CheckedException)可检查异常是JAVA编译器应该承担的责任

上面代码直观一点:

Java中关于异常的知识点有哪些

们看到Error和RuntimeException编译器是不检查的,而CheckedExcepton异常编译器是检查的,也就是我们程序员是必须要捕获处理的。那怎么处理呢?

(1) try-catch方式

Java中关于异常的知识点有哪些

用try-catch方式捕获这个异常,可以在catch代码段进行异常逻辑处理,这个就按照实际业务而定。如上图代码是FileNotFound异常,根据这个类型我们就知道是文件句柄不存在,那我们应该做哪些处理。如:提示一下用户该文件不存在

(2) 上抛异常方式

在复杂的业务中,我们的程序员自己写的模块,很有可能被其他程序员写的模块进行引用,为了能够让其他程序员知道我们模块的异常,并要他们要进行处理,我们就可以采用上抛异常方式

Java中关于异常的知识点有哪些

我们看一下上层调用的处理

Java中关于异常的知识点有哪些

我们看到上抛异常,是需要调用方进行处理的。那处理的方式是什么呢?其实就是上面讲的try-catch或继续上抛。

常见的Error和Exception

(1) RuntimeException

  • NullPointerException - 空指针引用异常

  • ClassCastException - 类型强制转换异常

  • IllegalArgumentException - 传递非法参数异常

  • IndexOutOfBoundsException - 下标越界异常

  • NumberFORMatException - 数字格式异常

(2) 非RuntimeException

  • ClassNotFoundException - 找不到指定class异常

  • IOException - IO操作异常

(3) Error

  • NoClassDefFoundError - 找不到class定义的异常

  • StackOverflowError - 深递归导致栈被耗尽抛出的异常

  • OutOfMemoryError - 内存溢出异常

读到这里,这篇“Java中关于异常的知识点有哪些”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: Java中关于异常的知识点有哪些

本文链接: https://www.lsjlt.com/news/285043.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中关于异常的知识点有哪些
    本文小编为大家详细介绍“Java中关于异常的知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中关于异常的知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。3W原则哪都有的3W原则,JA...
    99+
    2023-06-16
  • 关于Java IO的知识点有哪些
    本篇内容主要讲解“关于Java IO的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“关于Java IO的知识点有哪些”吧!传统的 BIOJava IO流是一个庞大的生态环境,其内部提...
    99+
    2023-06-16
  • Java异常体系的知识点有哪些
    这篇文章主要介绍“Java异常体系的知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java异常体系的知识点有哪些”文章能帮助大家解决问题。1、体系分类(1)uncheckedexcept...
    99+
    2023-06-30
  • 关于useState的知识点有哪些
    本篇内容介绍了“关于useState的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!hook如...
    99+
    2024-04-02
  • 关于Java8的知识点有哪些
    这篇文章主要讲解了“关于Java8的知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“关于Java8的知识点有哪些”吧!在了解一项新技术之前,我们需要了解我们为什么要去学习它以及它的...
    99+
    2023-06-16
  • 有哪些关于TypeScript的知识点
    这篇文章主要介绍“有哪些关于TypeScript的知识点”,在日常操作中,相信很多人在有哪些关于TypeScript的知识点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有哪...
    99+
    2024-04-02
  • Golang中关于defer的知识点有哪些
    这篇文章主要介绍“Golang中关于defer的知识点有哪些”,在日常操作中,相信很多人在Golang中关于defer的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Golang中关于defer的...
    99+
    2023-07-05
  • 关于主键的知识点有哪些
    本篇内容介绍了“关于主键的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. UUID模式通用...
    99+
    2024-04-02
  • 关于链表的知识点有哪些
    本篇内容介绍了“关于链表的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一 单向链表1.1 &...
    99+
    2024-04-02
  • mysql关于variable知识点有哪些
    这篇文章主要讲解了“mysql关于variable知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql关于variable知识点有哪些”吧!...
    99+
    2024-04-02
  • sqlserver中关于always on的知识点有哪些
    这篇文章主要介绍“sqlserver中关于always on的知识点有哪些”,在日常操作中,相信很多人在sqlserver中关于always on的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2024-04-02
  • 有哪些Java的相关知识点
    这篇文章主要介绍“有哪些Java的相关知识点”,在日常操作中,相信很多人在有哪些Java的相关知识点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有哪些Java的相关知识点”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-16
  • Java中锁的常见知识点有哪些
    本篇文章给大家分享的是有关Java中锁的常见知识点有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。锁的概念可重入锁如果锁具备可重入性,则称作为可重入锁。像synchroni...
    99+
    2023-06-05
  • Java中关键字的知识点有哪些
    本文小编为大家详细介绍“Java中关键字的知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中关键字的知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。...
    99+
    2024-04-02
  • Java中Volatile相关知识点有哪些
    这篇文章主要介绍“Java中Volatile相关知识点有哪些”,在日常操作中,相信很多人在Java中Volatile相关知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中Volatile相关...
    99+
    2023-06-16
  • Python异常处理的知识点有哪些
    本篇内容主要讲解“Python异常处理的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python异常处理的知识点有哪些”吧!异常捕获首先我们来看一个例子:我通过 print(a) ...
    99+
    2023-06-16
  • java异常处理相关知识点
    这篇文章将为大家详细讲解有关java异常处理相关知识点,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。异常概述在Java中,这种在程序运行时可能出现的一些错误称为异常。异常是一个在程序执行期间发生的事件,它...
    99+
    2023-06-29
  • postgresql关于权限的知识点有哪些
    这篇文章主要介绍“postgresql关于权限的知识点有哪些”,在日常操作中,相信很多人在postgresql关于权限的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • sqlserver关于DBCC CHECKDB的知识点有哪些
    本篇内容介绍了“sqlserver关于DBCC CHECKDB的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读...
    99+
    2024-04-02
  • python关于数字的知识点有哪些
    本篇内容主要讲解“python关于数字的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python关于数字的知识点有哪些”吧!Python Number 数据类型用于存储数值。数据类...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作