java的未检查异常有哪些_Java:检查异常与未检查异常
一、异常的介绍
Throwable 是 Java 中所有错误和异常的超类。Java 虚拟机仅抛出属于此类(或其子类之一)的实例对象,或者是 throw 语句也可以抛出该对象。同样,catch 子句中的参数类型也只能是此类(或其子类之一)。处于编译时检查异常为目的,Throwable 和其部分子类(除开 RuntimeException、Error 及它们其子类)都被视为检查的异常(checked exceptions),又称为运行时的异常,剩下的都是未检查的异常(unchecked exceptions)。
一个 throwable 包含它创建时线程执行堆栈的快照。它还可以包含一个消息字符串,该字符串提供有关该错误的更多信息。随着时间的流逝,一个throwable可以抑制其他 throwables 的传播。最后,throwable 还可以包含一个原因:另一个导致该 throwable 构造的 throwable。此因果信息的记录称为链接异常机制,因为原因本身可以具有原因,依此类推,导致异常的“链”,每个异常都是由另一个原因引起的。
二、Java异常结构层次图
图中仅列出一些比较常见的异常,还有绝大部分没有展现出来,可见 Java异常家族之大。还有就是 Error 那一块的东西对于我来说几乎没有碰到过,表示运行应用程序中较严重问题,大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。 Exception 是程序本身可以处理的异常。也就是你常见的空指针异常(NullPointerException),数组超出范围异常(IndexOutOfBoundsException)等等。
三、检查的异常和非检查的异常
Java的异常(包括Exception和Error)分为已检查的异常(checked exceptions)和非检查的异常(unchecked exceptions)。
① 检查的异常
编译器要求你必须处置的异常,代码还没运行,编译器就会检查你的代码,会不会出现异常,要求你对可能出现的异常必须做出相应的处理。
对检查异常(checked exception)的几种处理方式:
继续抛出,消极的方法,一直可以抛到java虚拟机来处理,就是通过throws exception抛出。
用try...catch捕获
注意,对于检查的异常必须处理,或者必须捕获或者必须抛出。除 RuntimeException 与其子类,以及 Error,其他的都是检查异常。
② 非检查的异常
编译器不要求强制处置的异常,不会在编译的时候检查,一一去检查会使得工作变得更加繁琐,只能在运行时才能检查出来,比如空指针异常等。
对未检查的异常(unchecked exception )的几种处理方式:
捕获
继续抛出
不处理
一般我们是不处理的,因为你很难判断会出什么问题,而且有些异常你也无法运行时处理,比如空指针,需要人手动的去查找。RuntimeException与其子类,以及错误(Error),都是属于这类异常。
java的未检查异常有哪些_Java:检查异常与未检查异常相关推荐
- java获取异常的数据_Java(8题):异常,通过try catch进行处理,登录,商品,使用jdbc进行读取,详细图析...
// 1.要求输入班级人数,人数必须是正整数.通过异常机制来处理下,提示输入的人数不能为负数 package a; import java.util.Scanner; public class yic ...
- java非检查性异常有哪些_Java异常处理-检查性异常、非检查性异常、Error
一.Java异常处理详解 异常.png 目录: 1.java中异常的分类 1.1 异常(Exception) 1.1.1 运行时异常(RuntimeException) 可以不需要捕获 1.1.2 编 ...
- java异常详细讲解_Java异常处理机制的详细讲解和使用技巧
一起学习 1. 异常机制 1.1 异常机制是指当程序出现错误后,程序如何处理.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器. 1.2 ...
- java 处理异常的场景_Java高级----异常处理机制、自定义异常----含思维导图
Java高级----异常处理机制.自定义异常----含思维导图 Java高级----异常处理机制.自定义异常----含思维导图 南一Java自学交流QQ群: 586012641 拒绝任何广告,共享Ja ...
- java抛异常 代替返回_Java使用和C++类似的异常处理
Java使用和C++类似的异常处理 (2007-07-12 18:16:19) 1.处理错误的方法有很多流行方法 2.一般方法是把程序处理代码段分散到系统代码中,在可能发生错误的地方处理错误 优点:便 ...
- java 异常面试问题_Java异常面试问答
java 异常面试问题 Java provides a robust and object-oriented approach to handle exception scenarios known ...
- java中三种可能导致异常的情况_JAVA基础知识点之异常
一.JAVA异常 异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描 ...
- java 异常 中文_Java中所有的运行时异常,带中文解释
展开全部 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:Negat ...
- java中三种可能导致异常的情况_Java常见异常种类及产生原因
JAVA异常共分为下列几种 Error JAVA环境编译错误 Runtime Exception 运行处异常 Exception 标准Java库方法异常 throw 用户自定义异常 异常分为两类 Er ...
最新文章
- python 调用linux命令-Python调用shell命令常用方法
- 使用diskpart命令修复U盘分区
- 【机器视觉】 dev_set_window_extents算子
- express.static 和 lit-html
- java线程之基础学习
- 《ASP.NET Core 3 框架揭秘(上下册)》送书结果公告
- python饼状图教程_Python数据可视化:饼状图的实例讲解
- Vue 报错Error: No PostCSS Config found解决办法
- Android开发之蓝牙(Bluetooth)---源码目录
- 阿里淘系21春招实习过经
- 国外ipv6服务器网站,国外 ipv6 服务器地址
- html5怎么给视频加字幕,怎么给视频添加文字 怎么用Premiere Pro cs6给视频中添加文字...
- Ubuntu18.04 下载与安装
- Vue + Spring Boot 项目实战(十三):使用 Shiro 实现用户信息加密与登录认证
- 100句话记住7000个单词。
- CountingSort(计数排序)——C语言实现
- 2019年暑期GooGle SWE 凉经
- 如何开好项目例会︱中科南京软件技术研究院PMO项目主管薛晓娜
- 去广告神器——李跳跳
- CSS3 动画属性 - 逆战班