萤火小屋

优律的知识库

  • 首页
  • 归档
  • 分类
  • 标签
  • 留言
  • 关于

  • 搜索
消息队列 RabbitMQ Redis 双指针 力扣 动态代理 Git YAML SpringBoot SpringMVC 回溯算法 分治算法 归并排序 快排 手撕 事务 MySQL索引 MySQL 小技巧 Spring Framework Spring 动态规划 Linux Android 贪心算法 操作系统 进程调度模拟 IPv6 数据库 计算机组成原理 计算机基础 栈 Java 静态路由 路由器 交换机 数字通信 网络工程 计算机网络 Web http 大学学习技巧 程序设计 算法

Java的异常类

发表于 2021-08-14 | 分类于 Java SE | 0 | 阅读次数 215

异常类概念介绍

如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。

Java异常

Throwable

Throwable 是 Java 语言中所有错误或异常的超类。下一层分为Error和Exception

Error

Error 类是指 java 运行时系统的内部错误和资源耗尽错误。应用程序不会抛出该类对象。如果出现了这样的错误,除了告知用户,剩下的就是尽力使程序安全的终止。(好可怕~)

Exception

Exception又有两个分支,一个是运行时异常RuntimeException(类名,有此名称的类存在),一个是受检异常CheckedException(类别名称,非类名)。

RuntimeException

运行时异常RuntimeException即非受检异常:如NullPointerException、ClassCastException。RuntimeException是那些可能在Java虚拟机正常运行期间抛出的异常的超类。 如果出现 RuntimeException,那么一定是程序员的错误(知道啦知道啦~)。

CheckedException

受检异常CheckedException:如I/O错误导致的IOException、SQLException。 一般是外部错误,这种异常都发生在编译阶段,Java编译器会强制程序去捕获此类异常,即会出现要求你把这段可能出现异常的程序进行try-catch,该类异常一般包括几个方面:

  1. 试图在文件尾部读取数据。
  2. 试图打开一个错误格式的URL。
  3. 试图根据给定的字符串查找class对象,而这个字符串表示的类并不存在。

异常的处理方式

不处理

遇到问题不进行具体处理,而是继续抛给调用者。
抛出异常有三种形式,一是throw关键字,二是throws关键字,还有一种是系统自动抛异常。

throw和throws的区别

  1. 使用位置不同
    throws用在方法签名处,后面跟的是异常类,可以跟多个;而throw用在方法内,后面跟的是异常对象。

  2. 功能不同
    throws用来声明异常,让调用者只知道该功能可能出现的问题,可以给出预先的处理方式;throw抛出具体的问题对象,执行到throw,功能就已经结束了,跳转到调用者,并将具体的问题对象抛给调用者。也就是说throw语句独立存在时,下面不要定义其他语句,因为执行不到。

处理

使用try-catch块捕获异常针对性处理方式。

# Java
Java的IO流
Java的注解
  • 文章目录
  • 站点概览
优律

优律

优律的知识库

83 日志
20 分类
44 标签
E-mail Twitter Instagram
Links
  • CZLisyx - 浮生志
  • Vedfolnir
0%
© 2019 — 2023 萤火小屋——优律的博客网站
网站已勉强运行 
Halo博客系统技术支持