java异常
来源:互联网 发布:知鱼之乐什么意思 编辑:程序博客网 时间:2024/06/08 09:15
一.异常结构图
二.异常描述
Throwable:是所有异常的根,java.lang.Throwable。
Error:当程序发生不可控的错误时,通常是通知用户并终止程序的执行。与异常不同的是Error及其子类的对象不应被抛
出,代表编译时间和系统错误,用于指示合理的应用程序不应被捕获的严重问题。Error由java虚拟机生成并抛
出,包括动态链接失败,虚拟机错误等,程序对其不做处理。
Exception:程序本身可以处理的异常。
CheckedException:如果程序没有处理Checked异常,该程序在编译时就会发生异常无法编译。
RuntimeException:由系统自动检测并将它们交给缺省的异常处理程序,也可显示捕获它们。
三.处理异常
在 Java 应用程序中,异常处理机制为:抛出异常,捕捉异常。
1.抛出异常
(1)语法1:
throw new 异常类( );//抛出一个异常,出现在函数体
(2)语法2:
- methodName throws Exception1,Exception2,..,ExceptionN //声明一个异常,出现在函数头
- {
- }
(1)语法:
try{
正常程序段,可能抛出异常;
}
catch (异常类1 异常变量) {
捕捉异常类1有关的处理程序段;
}
catch (异常类2 异常变量) {
捕捉异常类2有关的处理程序段;
}
……
finally{
一定会运行的程序代码;
}
注意:
(1)一个try、catch、finally块之间不能插入任何其它代码。
(2)catch可以有多个,try和finally只能有一个。
(3)try后面必须要跟catch、finally其中的一个,即但一个try、catch、finally语句只能省略catch、finally中的一个。
(4)无论是否捕获或处理异常,finally块里的语句都会被执行。当在try块或catch块中遇到return语句时,finally语句块将在方法返回之前被执行。
在以下4种特殊情况下,finally块不会被执行:
a.在finally语句块中发生了异常。
b.在前面的代码中用了System.exit()退出程序。
c.程序所在的线程死亡。
d.关闭CPU。
(5)一个 try 块可能有多个 catch 块。根据捕获的异常进入相应的catch块。即Java虚拟机会把实际抛出的异常对象依次和各个catch代码块声明的异 常类型匹配,如果异常对象为某个异常类型或其子类的实例,就执行这个catch代码块,不会再执行其他的 catch代码块。
(6) 可嵌套 try-catch-finally 结构。
(7) 在 try-catch-finally 结构中,可重新抛出异常。
- java 异常,java,异常
- Java 异常 异常链
- Java异常
- Java 异常
- JAVA 异常
- Java异常
- java 异常
- Java异常
- java异常
- Java异常
- java异常
- java异常
- java异常
- java 异常
- java异常
- java异常
- java异常
- Java异常
- 简单易懂教会你KNN算法
- CAS单点登录-Service配置(七)
- 高二&高一&初三模拟赛16 总结
- 无序数组的相邻最大差值
- maven3.5.0在win10中的安装及环境变量配置
- java异常
- Java实现——快速排序
- Oracle 12c 多租户专题|12cR2中PDB内存资源管理
- leetcode Median of Two Sorted Arrays
- 如何实时监测屏幕宽度
- NorFlash和NandFlash区别
- <context:component-scan>使用说明
- PyQt5学习笔记(1)
- Mybatis+Oracle批量插入(自动过滤重复数据)与删除