黑马程序员技术交流社区
标题:
异常的误用
[打印本页]
作者:
yunfeng482
时间:
2016-3-13 12:05
标题:
异常的误用
对于异常无用着实很常见。
例1、用一个Exception来捕抓所有的异常,颇有“一夫当关万夫莫开”的气魄,不过这也是最傻的行为。
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ExceptionDemo1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public void readFile3(String file)
{
BufferedReader reader = null;
Connection conn = null;
try{
reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
conn = DriverManager.getConnection("");
}catch(Exception e){
e.printStackTrace();
}finally{
try {
reader.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
/*
* 1.从异常角度来说这样严格的程序确实是万无一失,所有异常都能捕获
* 但站在程序员的角度来说,万一出现了异常却不能分辨到底是什么引起的。是IO还是JDBC
* 上面的例子是一个反例,实际中一定清楚认识。
* 2.我们希望程序发生异常时候尽可能提供意外的信息,包括发生的位置、描述、和原因等。那样才能更清楚的解决问题。
* 而不是简单的e.printStackTrace();
* 3.try block写的简短,不要什么东西都仍在这里,尽可能对可能发生异常的位置进行try catch 尽可能为每个异常做try catch
*
*
复制代码
作者:
xgm
时间:
2016-3-13 12:29
这个确实是,之前还真没想过
作者:
Q的感动
时间:
2016-3-13 15:07
真实开发中肯定是要对每个可能发生的异常进行具体捕获的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2