java的异常处理块的形式_Java 异常处理详细解读
异常(Exception)指的是所有可能造成计算机无法正常处理的情况。发生异常时,将阻止程序的运行,若不妥善处理异常,可能造成计算机死机。经过异常处理,可以保证程序的正常运行,我们把针对不同的异常做妥善的处理的方式叫做“异常处理机制”。
异常处理的目的:加强程序的健壮性、
Java 中,所有的异常都被封装到相应的类中,同时,用户也可以自定义异常类和自定义抛出异常。
抛出异常(throw):是指将异常提交给运行时系统的过程。
捕获异常(
异常类 Throwable
异常类是指由程序抛出的异常对象所属的类。
异常可以分为两大类:
类和 java.lang.Error
类。这两个类均继承自 java.lang.Throwable
类
Error 类通常指的是
Exception 类通常指的是可以处理的异常,分为对于编译时异常,不解决编译就不会通过
对于运行时异常,可以选择性地来进行处理,如果不处理则出现异常时将交给 JVM 默认处理
获取异常信息的方法
Java 中常见的异常类
异常
描述
NullPointerException
空指向异常(空指针异常)。指的是使用了一个未初始化的对象(未开辟内存
ArithmeticException
算术异常。如:除以零
ArrayIndexOutOfBoundsException
数组下标越界异常。数组的
FileNotFoundException
文件未找到异常
OutOfMemoryExceptin
内存溢出异常(内存不足异常)。可用内存不足以分配给一个对象时抛出
NoSuchElementExceptin
调用了类集中不存在的元素
ClassCastExceptin
对象与类集中的元素不兼容
UnsupportedOperationExceptin
修改一个不允许修改的对象
异常处理 try-catch-
死了都要 try,不 try 到 catch 不痛快
当发生异常时,通常有两种处理方法:
try-catch-finally
异常处理的语法:
try {
// 要检查的语句
} catch (异常类 e) {
// 异常发生时的处理语句
e.printStackTrace(); // 打印异常信息
} finally {
// 一定会运行到的语句
}
try 语句块不可以独立存在,必须与 catch 或 finally 同存,finally 语句块可以省略
catch 区块可以有多个,此时异常类型必须子类在前,父类在后
当 try 区块捕获到异常时,不执行接下来的语句,立即进入 catch 区块
finally 语句块不会被执行的情况
在 finally 语句块中发生了异常
在前面的
程序所在的线程死亡
CPU 关闭
异常处理的几种形式
try…catch
try…catch…finally
try…finally
向上抛出异常 throws
方法头中使用 throws
关键字可以表明这个方法可能存在的异常类型,此方法不处理异常,而是将该异常提交给调用这个方法的方法。
public class Test {
public static vo
自行抛出异常 throw
throws
用于方法声明中,声明一个方法会抛出哪些异常,而 throw
是方法体中实际执行抛出异常的动作。
throw 异常类型的
try {
throw new ArrayIndexOutOfBoundsException("我是异常信息");
} catch (Exception e) {
e.printStackTrace();
}
自定义异常类
当系统提供的异常类不足以满足业务
class 自定义异常类 extends 异常类型 {
}
public class Test {
public static void main(String[] args) {
try {
throw new MyException("我是自定义异常类");
} catch (Exception e) {
e.printStackTrace();
}
}
}
class MyException extends Exception {
private String msg;
public MyException(String msg) {
this.msg = msg;
}
@Override
public String toString() {
return "MyException [msg=" + msg + "]";
}
}
java的异常处理块的形式_Java 异常处理详细解读相关推荐
- java异常处理代码详解_Java异常处理机制总结
概念介绍 异常是发生在程序执行过程中阻碍程序正常执行的错误事件,当一个程序出现错误时,可能的情况有如下3种: 语法错误 代码的格式错了,某个字母输错了 运行时错误 空指针异常,数组越界,除数为零等 逻 ...
- java 异常的分类并举例_Java异常处理中的一些特殊情况举例
只使用try和finally不使用catch的原因和场景JDK并发工具包中,很多异常处理都使用了如下的结构,如AbstractExecutorService,即只有try和finally没有catch ...
- java中检查性异常类_Java异常处理、java语言推崇使用检查类型异常
异常处理是java语言的重要特性之一,<Three Rules for effective Exception Handling>一文中是这么解释的:它主要帮助我们在debug的过程中解决 ...
- java中在方法体内抛出异常_Java异常处理中___用于方法体内,抛出一个异常对象。...
Java异常处理中___用于方法体内,抛出一个异常对象. 答: throw; 智慧职教: 运输高致病性动物病原微生物菌(毒)种或者样本的,与内包装要求错误的是 答:E.主容器表面标注"高致病 ...
- java静态代码块的作用域_java基础之面向对象
0. 面向对象与面向过程的区别 面向对象 如:指挥者,人,笔记本等都可以是对象,"万物皆对象" 面向过程 如:执行者 1. 面向对象的三个特征:封装,继承,多态. 以后的开发就是: ...
- java静态代码块和构造方法_Java静态代码块和构造方法执行顺序
package com.uno.staticBlock; import java.lang.reflect.Field; import java.util.Vector; /** * 验证静态代码块和 ...
- java 静态代码块的作用_Java中什么是静态代码块,有什么作用?
在java中使用static关键字声明的代码块.静态块用于初始化类,为类的属性初始化.每个静态代码块只会执行一次.静态代码块随着类加载而加载,有多个静态代码块的,按代码块前后顺序加载. 由于JVM在加 ...
- java静态初始化块的作用_Java 中的 static 使用之静态初始化块
方法不在main函数里面不会被执行吗? public class HelloWorld { String name; // 声明变量name String sex; // 声明变量sex static ...
- java多态的两种形式_java核心(八):继承与方法重写、final、多态性的两种描述形式...
一.继承的作用 子类继承父类的属性和方法,实现代码的复用: 子类扩充自己的标准,实现精细化的类型定义. 二.子类构造方法的限制 子类在实例化的时候,默认先实例化父类对象,然后再实例化本类对象: 子类构 ...
最新文章
- JavaWeb监听器
- python饼状图顺时针_Python matplotlib顺时针饼图
- Go 语言标准库中 atomic.Value
- java todo error_Java全局异常处理(TODO)
- android 获取sd卡视频文件名,android – 如何获取SD卡上的视频列表
- 不规则图形数格子的方法_北师大版五年级数学上册数学6.1组合图形的面积微课堂、同步练习、图文解读...
- 风控上模型中的大小卡、主路旁路的应用
- [HDU2294]Pendant
- unity天气系统_天气系统(一)
- mysql判断后执行查询语句吗_如何看mysql执行的sql语句
- Keli 编译遇到 *** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED且已经破解
- ISIS 7 Professional运行报错解决方案
- 信息安全技术 网络安全漏洞分类分级指南(GB/T 30279-2020 )
- 计算机图形学【GAMES-101】7、光线追踪原理(线面求交、预处理光追加速)
- Linux动态频率调节系统CPUFreq之三:governor
- 使用腾讯 CDN,结果网站现在出现您的连接不是私密连接”“,”隐私设置错误”如何解决?
- 猿辅导、掌门教育悄然转身,发力素质教育
- 好心情:跌落凡间的星星天使,爱终将弥补一切
- 行为层JavaScript+jQuery
- 微信群机器人方案选型