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