首页 > 编程语言 >Java异常类层次结构?

Java异常类层次结构?

时间:2023-04-22 19:23:34浏览次数:38  
标签:Exception Java 子类 程序 编译 层次结构 异常

Throwable 是 Java 语言中所有错误与异常的超类。

  • Error 类及其子类:程序中无法处理的错误,表示运行应用程序中出现了严重的错误。
  • Exception 程序本身可以捕获并且可以处理的异常。Exception 这种异常又分为两类:运行时异常和编译时异常。

  • 运行时异常

都是RuntimeException类及其子类异常,如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。

运行时异常的特点是Java编译器不会检查它,也就是说,当程序中可能出现这类异常,即使没有用try-catch语句捕获它,也没有用throws子句声明抛出它,也会编译通过。

  • 非运行时异常 (编译异常)

是RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如IOException、SQLException等以及用户自定义的Exception异常,一般情况下不自定义检查异常。


著作权归@pdai所有 原文链接:https://pdai.tech/md/interview/x-interview.html

标签:Exception,Java,子类,程序,编译,层次结构,异常
From: https://www.cnblogs.com/cnetsa/p/17343730.html

相关文章

  • 可查的异常(checked exceptions)和不可查的异常(unchecked exceptions)区别?
    可查异常(编译器要求必须处置的异常):正确的程序在运行中,很容易出现的、情理可容的异常状况。可查异常虽然是异常状况,但在一定程度上它的发生是可以预计的,而且一旦发生这种异常状况,就必须采取某种方式进行处理。除了RuntimeException及其子类以外,其他的Exception类及其子类都属于......
  • Java中ArrayList的遍历与删除元素方式总结
    在Java编程中,我们经常需要对数据结构进行遍历操作,并根据业务需求删除部分元素。而数组列表(ArrayList)是集合类中的一种,它可以动态地添加和删除元素,非常适合在程序中使用。本篇博客将总结ArrayList中的两种遍历和删除元素的方式。在下面的示例代码中,我们先定义了一个ArrayList对象,......
  • java下载pdf等静态文件
    java下载pdf等静态文件  packagecom.example.climbnumber;importjava.io.FileOutputStream;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.URL;importjava.net.URLConnection;importjava.util.zip.GZIPInputStream;publicclass......
  • Redis 的Java客户端——Jedis连接池的使用详解
    一.Redis的Java客户端jedis的官方仓库地址:https://github.com/redis/jedisRedis数据结构Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样。1.1引入Redis依赖<dependency><groupId>redis.clients</groupId><artifactId>jedis</......
  • Java 把 Map 的值(Value)转换为 Array, List 或 Set
    概述在这篇短文中,我们将会展示如何把Map中的值取出来,转换为一个Array,、List或者一个Set。 当然,你可以使用JavaJDK来进行转换,你也可以使用Guava来进行转换。 首先,让我们来看看,如何使用原生的JavaJDK把一个Map的值换行为Array。@TestpublicfinalvoidgivenU......
  • Java 把 Map 的值(Value)转换为 Array, List 或 Set
    概述在这篇短文中,我们将会展示如何把Map中的值取出来,转换为一个Array,、List或者一个Set。 当然,你可以使用JavaJDK来进行转换,你也可以使用Guava来进行转换。 首先,让我们来看看,如何使用原生的JavaJDK把一个Map的值换行为Array。@Testpublicfinal......
  • 理解 Java8 的时间API(一)时区
    理解Java8的时间API:java.time由于Java的时间API:java.util.Date、java.util.Calendar、java.util.TimeZone使用起来非常混乱,因此Java8重新设计了一套时间API,放在java.time.*包下。如果需要熟练使用新的LocalDateTime,LocalDate,LocalTime类,最好是先了解时区的概念。因此本文先......
  • Java开发 - 读写分离初体验
    前言上一篇中,我们介绍了主从复制,相信学过的小伙伴已经能够很好的掌握主从复制的技术,实际上也并没有那么难,虽然没有讲一主多从,多主多从的配置,但是从一主一从的配置中也很容易联想到该怎么配置,你没猜错,就是你想的那样。这篇博客,我们要讲解的东西是主从复制的应用——读写分离。一般来......
  • Java基础知识点API之Object
    一:概述Object是java中的顶级父类,所有的父类都直接或间接地继承于Object类。Object类中的方法可以被所有子类访问,所以我们要学习Object类和其中的方法。二·:OBject的构造方法及其常用的成员方法publicObject()//空参构造classStudent(){privateStringname;private......
  • Knife4j文档请求异常
    通常遇到这个异常信息,都是由于在SpringBoot项目中,分不同的模块开发。注解配置@EnableSwagger2WebMvc不在启动类上,而是加到了其他模块的注解中导致的。我的是common一个单独的模块,在common模块中配置了WebMvcConfig。然后在WebMvcConfig类上面加了注解@EnableSwagger2WebMvc.......