栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java异常

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java异常

异常:

一. 定义:
在程序中,错误可能产生于程序员没有预料到的各种情况,或者超出程序员可控范围的环境,例如用户的坏数据、试图打开一个不存在的文件等。

二.分类:

  1. Error

    Error 是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。
    大多数这样的错误都是异常条件。虽然 ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。
    在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获的 Error 的任何子类,因为这些错误可能是再也不会发生的异常条件。
    Java 程序通常不捕获错误。错误一般发生在严重故障时,它们在Java程序处理的范畴之外。
    

2 .Exception

Exception 异常主要分为两类
    一类是 IOException(I/O 输入输出异常),其中 IOException 及其子类异常又被称作「受查异常」
    另一类是 RuntimeException(运行时异常),RuntimeException 被称作「非受查异常」。

受查异常就是指,编译器在编译期间要求必须得到处理的那些异常,你必须在编译期处理了。

异常的继承体系结构:


三.异常的处理方式

1 try…catch关键字

 try {
 // 程序代码
} catch(ExceptionName e1) {
 //Catch 块
}

Catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样。

2.throws/throw 关键字

如果一个方法没有捕获一个检查性异常,那么该方法必须使用 throws 关键字来声明。throws 关键字放在方法签名的尾部。
3. finally关键字

finally 关键字用来创建在 try 代码块后面执行的代码块。
无论是否发生异常,finally 代码块中的代码总会被执行。在 finally 代码块中,可以运行清理类型等收尾善后性质的语句。

四. try-catch-finally 的执行顺序

1.不管有无出现异常,finally块中代码都会执行;

2、当try和catch中有return时,finally仍然会执行;

3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;

4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。

https://www.cnblogs.com/pcheng/p/10968841.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/302087.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号