RuntimeException 和 Exception 区别、异常的子父级关系

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

1.java 将所有的错误封装为一个对象,其根本父类为Throwable, Throwable 有两个子类:Error 和 Exception。

 

2.Error Throwable  的子类,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然   ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获的 Error的任何子类,因为这些错误可能是再也不会发生的异常条件。

3.Exception类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。

4.RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。可能在执行方法期间抛出但未被捕获的RuntimeException 的任何子类都无需在 throws 子句中进行声明。它是Exception的子类。

5.异常的分类
  Error:一般为底层的不可恢复的类;
  Exception:分为未检查异常(RuntimeException) 和已检查异常(非RuntimeException)。
  未检查异常是因为程序员没有进行必需要的检查,因为疏忽和错误而引起的错误。几个经典的RunTimeException如下:

1.java.lang.NullPointerException;
2.java.lang.ArithmaticException;
3.java.lang.ArrayIndexoutofBoundsException

Runtime Exception: 
在定义方法时不需要声明会抛出runtime exception; 在调用这个方法时不需要捕获这个runtime exception; runtime exception是从java.lang.RuntimeException 或java.lang.Error类衍生出来的。 例如:nullpointexception,IndexOutOfBoundsException就属于runtime exception 。


Exception:
定义方法时必须声明所有可能会抛出的exception; 在调用这个方法时,必须捕获它的checked exception,不然就得把它的exception传递下去;exception是从 java.lang.Exception类衍生出来的。例如:IOException,SQLException就属于Exception

 

Exception 属于应用程序级别的异常,这类异常必须捕捉,Exception体系包括RuntimeException体系和其他非RuntimeException的体系

RuntimeException 表示系统异常,比较严重,如果出现RuntimeException,那么一定是程序员的错误

 

6.什么是unchecked异常?

即RuntimeException(运行时异常)
不需要try...catch...或throws 机制去处理的异常

 

 

转自:https://www.cnblogs.com/jtlgb/p/5985120.html

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448297.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言笔记(关键字)

gdb调试 gcc 源程序 -g;加gdb调试信息gdb可执行程序;(gdb调试)l(ist):查看源码,按一下从main开始10行以此往后l n:查看n处上下10行的源码run:运行程序b&…

C语言笔记(符号)

注释符号 几个似非而是的注释问题 例子: (A) int / * ... * /i; (B) char * s "abcdefgh //hijklmn"; (C) //Is it a \valid comment? (D) in/ * ... * /t i; 我们知道C语言里可以有两种注释方式:“/* */” 和 “ // ”。那么上面几条…

java 命令: jmap 命令使用 ( 查看内存使用、设置 )

jdk安装后会自带一些小工具,jmap命令(Java Memory Map)是其中之一。主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。 jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏&am…

只用一套解决方案,就可解决80%的交通物流行业信息难题

行业背景 新中国成立70多年来,中国交通运输总体上已经形成了多节点、全覆盖的综合运输网络,“五纵五横”综合运输大通道基本贯通,一大批综合客运、货运枢纽站场(物流园区)投入运营,取得了一系列瞩目成果&am…

Linux 使用 jstat 命令查看 jvm 的 GC 情况

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 Options,选项,我们一般使用 -gcutil 查看gc情况 vmid,VM的进程号,即当前运行的java进程号…

Docker 方式安装 Nginx 、阿里云服务器上装 Ngnix

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 非 Docker 方式安装,直接 Linux 安装见另一文:Linux 上 安装 nginx 、阿里云服务器上安装 nginx 1. 直接从镜像仓…

C#实现A*算法

理解A*寻路算法具体过程 这两天研究了下 A* 寻路算法, 主要学习了这篇文章, 但这篇翻译得不是很好, 我花了很久才看明白文章中的各种指代. 特写此篇博客用来总结, 并写了寻路算法的代码, 觉得有用的同学可以看看. 另外因为图片制作起来比较麻烦, 所以我用的是原文里的图片. 当…

玩转数据结构——均摊复杂度和防止复杂度的震荡(笔记)

数据规模 时间复杂度 并不是所有的双层循环都是O&#xff08;n^2&#xff09;的 复杂度实验来确定复杂度 // O(N) 两倍增加 int findMax( int arr[], int n ){assert( n > 0 );int res arr[0];for( int i 1 ; i < n ; i )if( arr[i] > res )res arr[i];return res…

解决:bash: vim: command not found、docker 容器不识别 vi / vim 、docker 容器中安装 vim

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 在 Docker 容器中编辑文件&#xff0c;报错如下&#xff1a; bash: vim: command not found2. 安装 vim &#xff1a; apt-get in…

怎样正确使用车灯?

当我们被对面来车明晃晃的远光灯照得意识模糊时&#xff0c;当你快速接近一辆摩托车却发现那是一辆坏了一盏尾灯的卡车时&#xff0c;或是当你前方的小车忽然亮起倒车灯却在往前行驶&#xff0c;最后意识到那只是因为刹车灯与倒车灯线路颠倒时&#xff0c;你就会发现在人们都认…

如何配置DDS以使用多个网络接口?How do I configure DDS to work with multiple network interfaces?

最近在使用OpenDDS的时候遇到一个问题&#xff1a;存在多个虚拟网卡时&#xff0c;发布&#xff08;订阅&#xff09;端重新连接时会阻塞几分钟&#xff0c;在外网找到一篇与此相关的文章。 You cannot specify which NICs DDS will use to send data. You can restrict the NI…

使用可靠多播与OPENDDS进行数据分发

介绍 也许应用程序设计人员在创建分布式系统时面临的最关键决策之一是如何在感兴趣的各方之间交换数据。通常&#xff0c;这涉及选择一个或多个通信协议并确定向每个端点分派数据的最有效手段。实现较低级别的通信软件可能是耗时的&#xff0c;昂贵的并且容易出错。很多时候&a…

margin为负值的几种情况

1、margin-top为负值像素 margin-top为负值像素&#xff0c;偏移值相对于自身&#xff0c;其后元素受影响&#xff0c;见如下代码&#xff1a; 1 <!DOCTYPE html>2 <html lang"zh">3 <head>4 <meta charset"UTF-8" />5 &l…

事件EVENT,WaitForSingleObject(),WaitForMultipleObjecct()和SignalObjectAndWait() 的使用(上)

用户模式的线程同步机制效率高&#xff0c;如果需要考虑线程同步问题&#xff0c;应该首先考虑用户模式的线程同步方法。但是&#xff0c;用户模式的线程同步有限制&#xff0c;对于多个进程之间的线程同步&#xff0c;用户模式的线程同步方法无能为力。这时&#xff0c;只能考…

axios 中文文档、使用说明

以下内容全文转自 Axios 文档&#xff1a;https://www.kancloud.cn/yunye/axios/234845 ##Axios Axios 是一个基于 promise 的 HTTP 库&#xff0c;可以用在浏览器和 node.js 中。 Features 从浏览器中创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请…

数据库 -- 02

引擎介绍 1.什么是引擎 MySQL中的数据用各种不同的技术存储在文件&#xff08;或者内存&#xff09;中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术&…

OpenDDS用idl生成自定义数据类型时遇到的一个问题

问题&#xff1a;这里会提示LNK2005重复定义的错误 解决方案&#xff1a; 解决后&#xff1a;

Docker 方式安装 Nexus 私服

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 从Docker 官方仓库查找镜像&#xff1a; docker search nexus 2. 拉取镜像&#xff1a; docker pull 你选中的镜像的名字  pull…

shader飞线改进版

项目github地址&#xff1a;https://github.com/ecojust/flyline 前面写过一个飞线(基于THREE.Line进行的颜色变化)&#xff0c;只是简单地将可视区片元颜色的alpha通道值设为1.0&#xff0c;不在可视区的设为0.0。效果是这样的&#xff1a; 做得很粗糙&#xff0c;而且因为线是…

C++获取本机所有ip地址,可区分类型是有线无线虚拟机还是回环

一个小程序&#xff0c;可以获取本地所有ip地址&#xff0c;包括有线&#xff0c;无线&#xff0c;虚拟机&#xff0c;环回接口网卡&#xff0c;等。 如图&#xff0c;一台机器多个网卡&#xff1a; 程序执行结果&#xff1a; #include"stdio.h" #include"…