博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java学习笔记(十)异常处理
阅读量:5115 次
发布时间:2019-06-13

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

异常是程序在执行过程中所产生的问题,导致异常产生的原因包括:用户输入了无效的数据、找不到一个需要打开的文件、在通讯过程中网络连接断开或者JVM发生了内存溢出等等。

异常是被一个方法抛出的对象。

异常分类:

检查异常:检查异常通常是用户错误或者不能被程序员所预见的问题。
运行时异常:是一个程序在运行过程中可能发生的、可以被程序员避免的程序类型。
错误:实际上,错误根本不是异常,但却是用户或程序员所无法控制的问题。错误通常在设计好编写Java应用程序时被忽略。

对异常处理的三种选择:

(1).捕获这个异常,不让它沿着调用栈继续向下抛出;
(2).捕获这个异常,并继续向下抛出;
(3).不捕获这个异常,从而导致方法从调用栈中被弹出,异常对象继续抛给调用栈下面的main()方法。

只有Throwable类型的对象能够被JVM抛出,它的子类Exception是所有异常的父类,RuntimeException是运行时异常,一个异常是Exception的子类但不是RuntimeException的子类,这个异常是检查异常,子类Error是所有错误的父类。

捕获异常使用try/catch代码块,例:

try {
while (rs.next()) {
is = true;
// 打印信息
print(rs);
}
if (!is) {
System.out.println("你还没有宠物哦");
}
} catch (SQLException e) {
e.printStackTrace();
}

如果try中没有异常,catch块会被忽略;如果try中有异常,try中抛出异常后面的代码不会执行,会跳到捕获异常的地方。

捕获异常时先捕获特殊异常后捕获普通异常。

throws关键字声明异常,throw抛出异常。

finally关键字,不管异常是否发生,finally关键字总会执行。

try {
while (rs.next()) {
is = true;
// 打印信息
print(rs);
}
if (!is) {
System.out.println("你还没有宠物哦");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 释放资源
JdbcUtil.close();
}

转载于:https://www.cnblogs.com/fping/p/4492076.html

你可能感兴趣的文章
继承条款effecitve c++ 条款41-45
查看>>
HTML+CSS学习笔记(九)
查看>>
【BZOJ2286】【SDOI2011】消耗战 [虚树][树形DP]
查看>>
Java泛型的基本使用
查看>>
1076 Wifi密码 (15 分)
查看>>
rsync
查看>>
noip模拟赛 党
查看>>
bzoj2038 [2009国家集训队]小Z的袜子(hose)
查看>>
Java反射机制及其Class类浅析
查看>>
Postman-----如何导入和导出
查看>>
移动设备显示尺寸大全 CSS3媒体查询
查看>>
hihoCoder #1831 : 80 Days-RMQ (ACM/ICPC 2018亚洲区预选赛北京赛站网络赛)
查看>>
图片等比例缩放及图片上下剧中
查看>>
WebView加载网页详情
查看>>
【转载】Linux screen 命令详解
查看>>
dd命令 建立两颗一模一样的磁盘
查看>>
常用的jquery触屏手机页面特效代码下载
查看>>
background-clip,background-origin
查看>>
C# 如何创建一个Windows服务
查看>>
集群和分布式区别
查看>>