码迷,mamicode.com
首页 > 编程语言 > 详细

java学习笔记(十)异常处理

时间:2015-05-10 14:08:20      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

异常是程序在执行过程中所产生的问题,导致异常产生的原因包括:用户输入了无效的数据、找不到一个需要打开的文件、在通讯过程中网络连接断开或者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();
}

java学习笔记(十)异常处理

标签:

原文地址:http://www.cnblogs.com/fping/p/4492076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!