博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 异常的分类并举例_java异常分类与处理
阅读量:4359 次
发布时间:2019-06-07

本文共 1261 字,大约阅读时间需要 4 分钟。

什么是异常?

异常就是有异于常态,和正常情况不一样,有错误出现。在java中,阻止当前方法或作用域的情况,称之为异常。

faa749db37cb4dd50e84e7de9ee26f1b.png

异常分类

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

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

Exception:有两个分支,一个是运行时异常RuntimeException,一个是CheckedException。

RuntimeException:如NullPointerException,ClassCastException;RuntimeException是那些可能在Java虚拟机正常运行期间抛出的异常的超类。如果出现RuntimeException,一定是程序员的错误。

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

1. 试图在文件尾部读取数据

2. 试图打开一个错误格式的 URL

3. 试图根据给定的字符串查找 class 对象,而这个字符串表示的类并不存在

抛出异常有三种形式,一是throw,一个throws,还有一种系统自动抛异常。

如下所示:

public static void main(String[] args) {

String s = "abc";

if(s.equals("abc")) {

throw new NumberFormatException();

} else {

System.out.println(s);

}

}

int div(int a,int b) throws Exception{

return a/b;}

throw与throws的区别

位置不同

1. throws 用在函数上,后面跟的是异常类,可以跟多个;而 throw 用在函数内,后面跟的

是异常对象。

功能不同:

2. throws 用来声明异常,让调用者只知道该功能可能出现的问题,可以给出预先的处理方

式;throw 抛出具体的问题对象,执行到 throw,功能就已经结束了,跳转到调用者,并

将具体的问题对象抛给调用者。也就是说 throw 语句独立存在时,下面不要定义其他语

句,因为执行不到。

3. throws 表示出现异常的一种可能性,并不一定会发生这些异常;throw 则是抛出了异常,

执行 throw 则一定抛出了某种异常对象。

4. 两者都是消极处理异常的方式,只是抛出或者可能抛出异常,但是不会由函数去处理异

常,真正的处理异常由函数的上层调用处理。

842a245046f0d52d832e0ba3dd8fe09a.png

0262944298a6db17c9c9cfd743f85863.png

dd5de055444e42e0e934e059e727b5fd.png

91f0267a31b20a330ac244bc3910d347.png

参考博客:

https://www.jianshu.com/p/49d2c3975c56

转载地址:http://yqhys.baihongyu.com/

你可能感兴趣的文章
model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转;解决的方法是用responsewrite(普通的字符响应)...
查看>>
自动在数据库中创建表
查看>>
如何在一个进程中启动另外一个线程:ProcessStartInfo Constructor
查看>>
树状数组模板题 P1904
查看>>
Kerberos安装及使用
查看>>
android 布局中 layout_gravity、gravity、orientation、layout_weight
查看>>
highcharts
查看>>
【学员管理系统】0x02 学生信息管理功能
查看>>
什么是Entity Framework(ORM)
查看>>
软件质量理解
查看>>
jquery 在 table 中修改某行值
查看>>
pyc文件是什么【转载】
查看>>
find the safest road HDU - 1596
查看>>
java通过jdbc方式连接oracle数据库
查看>>
spring边边角角
查看>>
HTML <!DOCTYPE> 标签 布局引用的几种方法 行级元素与块级元素
查看>>
[HDU] 1269 迷宫城堡-最简单的强连通分支题
查看>>
签个到
查看>>
POM.xml 标签详解
查看>>
Android 彩色Toast实现
查看>>