| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Java中的异常处理 -> 正文阅读 |
|
[Java知识库]Java中的异常处理 |
异常是指在程序执行中发生不正常的情况。 一、为什么要处理异常?1. 程序在运行的过程中出现了异常,程序就不能正常向下运行了。要确保程序能顺利的运行,一定要处理程序中出现的异常 2. 在出现异常,进行处理时,可以为用户提示错误信息。 二、异常的分类异常的层次结构图:? ?异常类图的顶层类是Throwable,有两个子类分别是Error 和 Exception 常见的异常: ???????????????? Error : JVM系统内部错误、资源耗尽等严重情况 ,通常情况程序员不处理Error的错误 Exception: 因为编程错误或者外在因素(非法的数据进入到程序中)产生的错误 Exception分为两类分别是运行时异常(RuntimeException)和受检查异常(编译期异常) 运行时异常: 异常在运行期出现的,通常情况运行时异常不需要处理,通过代码的if语句来避免出现。 常见的运行时异常:NullPointerException、ArithmeticException、ArrayIndexOutOfBoundsException、 NumberFormatException、ClassCastException 受检查异常: 异常在编译期出现,如果不处理异常,程序将不能编译。可以使用try-catch或throws处理异常.
遇到UnhandleException提示,就是一个要处理的受检查异常 三、异常的处理1. try-catch-finall语句 语法:
?try一定要有的,可以是try-catch组合;也可以是try-finally组合 ;其他情况 可以写finally 执行过程:程序顺序执行,如果在try语句块中出现了异常 ,异常类型和catch异常类型判断,如果符合catch类型,则执行catch中的语句,catch语句执行完毕后,执行finally语句,try-catch-finally语句执行完毕。
对不同的异常有不同的处理,因此一个try可能会写多个catch 注意:如果有多个catch,前面的catch类型不能大于后面的catch类型,也就是可以把子类的异常类型catch放前面,父类的catch后面
finally是try-catch-finally语句中一定会被执行的部分,通常将一些释放资源的代码写在finally中 final和finally和finalize的区别 final修饰类、变量、方法。修饰的类... 修饰的方法.... 修饰的变量.... finally是try-catch-finally语句中一定会被执行的部分、 finalize是Object类的方法,当垃圾回收器要回收一个对象时,调用finalize方法 出现了异常信息,找一个at 你写的代码 四、throws方式将异常抛给调用者 当清楚异常如何处理时,用try-catch;不知道异常如何处理,用throws
throws可以写在方法后面 指定异常的类型 ;也可以写在构造器的后面 指定异常的类型 五、throw关键字将异常对象抛到程序中 throw 异常对象 ; throw和throws区别: throw是将异常对象抛到程序中 throws是处理异常的一种方式 ? 六、自定义异常类JDK中定义类很多的异常类,他们都是大众化的通用化的,可能项目或者是一些框架中要使用 个性化的需求的异常 类,就得通过自定义异常类来实现了,例如:邮件地址不存在异常、QQ号不正确异常等。 可以继承Exception类,自定义异常类,属于受检查异常类别。 需求:开发团队要开发一个邮件系统,包括发件、收件、附件处理等功能 ,有甲程序员开发底层的邮件系统的框架,由乙程序员完成发件、收件等功能的业务开发,调用甲程序员开发的底层功能 ?甲程序员:
乙程序员:调用甲开发的底层功能,完成发件、收件等功能
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 10:41:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |