【从零开始学Java笔记】异常处理
2020-04-07 16:07:06来源:博客园 阅读 ()
【从零开始学Java笔记】异常处理
大家可以关注作者的账号,关注从零开始学Java笔记文集。也可以根据目录前往作者的博客园博客进行学习。本片文件将基于黑马程序员就业班视频进行学习以及资料的分享,并记录笔记和自己的看法。欢迎大家一起学习和讨论。
【从零开始学Java笔记】目录
什么是异常?
异常是指不正常,我们在代码的时候出现的编译或者运行时的错误。我们在写代码的时候,经常的出现一些小问题, 那么为了方便我们处理这些问题,java为我们提供了异常机制。异常包含了错误的类型、原因以及位置
异常的体系结构:
Throwable (最项层)
Error :出现的不能够处理的严重问题
Exception:可以处理的问题
异常的处理方式
1.jvm处理异常的方式:
如果出现异常我们没有处理,jvm会帮我们进行处理,他会把异常的类型,原因还有位置显示在命令行,并且还终止了程序,异常后面的代码将不在执行。
2.捕获处理
try...catch语句
格式:
try {
有可能出现问题的代码;
} catch(ArithmeticException ae) {
处理异常;
}
try...catch的执行顺序:
首先执行try语句,如果发现异常,异常下面的代码不在执行,直接跳入catch语句中,catch语句结束后,整个try...catch结束,如果没有发现异常,try语句执行结束后,try...catch直接结束, 不在执行catch语句
3.抛出去
当我们不想处理异常,或者没有能力处理的时候,我们可以选择抛出异常,谁调用方法谁处理异常,使用关键字throws在方法的声明出抛出异常
举例:
import java.io.FileWriter;
import java.io.IOException;
public class ExceptionDemo2 {
public static void main(String[] args) throws Exception {
//method();
function();
}
public static void function() throws Exception {
FileWriter fw = new FileWriter("a.txt");
}
private static void method() {
try {
System.out.println(1);
//System.out.println(2 / 0);
System.out.println(2);
} catch(ArithmeticException ae) {
System.out.println("除数不能为0");
}
System.out.println(3);
}
}
处理多个异常
如何处理多个异常:
1.可以使用多个try.. .catch语句
2.使用一个try和多个catch
多个catch之间的顺序:
多个catch之间可以有子父类
平级之间没有顺序关系
如果有子父类,父类异常必须放在后面
Throwable类
public class ExceptionDemo3 {
public static void main(String[] args) {
try {
System.out.println(2 / 0);
} catch (ArithmeticException e) {
// String getMessage() : 原因
// System.out.println(e.getMessage());
// String toString() 类型和原因
// System.out.println(e.toString());
// void printStackTrace():类型原因和位置,和jvm处理不同,不会终止程序运行
e.printStackTrace();
}
// System.out.println("hello");
}
}
finally
finally:组合try... catch使用,用于释放资源等收尾工作,无论try...catch语句如何执行,finally的代码定会执行,用于处理一些收尾工作,例如释放资源
try {
有可能出现问题的代码;
} catch(异常对象) {
处理异常;
} finally {
释放资源;
清理垃圾;
}
异常的分类
运行时期异常: RuntimeException的子类就是运行时期异常,在编译时期可以自由选择处理或者不处理
编译时期异常:是Exception的子类,非RuntimeExcpetion的子类,在编译时期必须处理
原文链接:https://www.cnblogs.com/zllk/p/12656772.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:【从零开始学Java笔记】IO流
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash