惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
月光博客
月光博客
美团技术团队
博客园 - 聂微东
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
爱范儿
爱范儿
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
T
The Blog of Author Tim Ferriss
MongoDB | Blog
MongoDB | Blog
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
I
InfoQ
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
大猫的无限游戏
大猫的无限游戏
T
Tailwind CSS Blog
F
Fortinet All Blogs

博客园 - 王永庆

java编程思想(3)感悟(9)---控制程序流 - 王永庆 - 博客园 ibatis学习笔记(5) - 王永庆 - 博客园 ibatis学习笔记(4) - 王永庆 - 博客园 ibatis学习笔记(3) - 王永庆 - 博客园 ibatis学习笔记(2) ibatis学习笔记(1) Java编程思想3感悟(8)---一切都是对象 java编程思想3感悟(7)---抽象基类和接口、并发 java编程思想3感悟(6)---是一个与像是一个关系和伴随多态的可互换对象 java编程思想3感悟(5)---复用具体实现和复用接口 java编程思想3感悟(4)---被隐藏的具体实现 java编程思想3感悟(3)---每个对象都提供服务 java编程思想3感悟(2)---每个对象都有一个接口(方法) JSP处理表单的一些经验分享 log4j学习笔记2 Spring控制反转(IoC)的理解 java编程思想3感悟(1)---java的5个特性 bat文件说明 sql学习笔记(二)-----游标的使用
Java语言异常处理(转载)
王永庆 · 2007-11-20 · via 博客园 - 王永庆

结论一:既然捕获了异常,就要对它进行适当的处理。不要捕获异常之后又把它丢弃,不予理睬。
结论二:在catch语句中尽可能指定具体的异常类型,必要时使用多个catch.不要试图处理所有可能出现的异常。
结论三:保证所有资源都被正确释放。充分运用finally关键词。
结论四:在异常处理模块中提供适量的错误原因信息,组织错误信息使其易于理解和阅读。
结论五:尽量减小try块的体积。
结论六:全面考虑可能出现的异常以及这些异常对执行流程的影响。

OutputStreamWriter out = ...
java.sql.Connection conn = ...
try {
 Statement stat = conn.createStatement();
 ResultSet rs = stat.executeQuery(
  "select uid, name from user");
 while (rs.next())
 {
  out.println("ID:" + rs.getString("uid") + ",姓名: "                                      + rs.getString("name"));
 }
}
catch(SQLException sqlex)
{
 out.println("警告:数据不完整");
 throw new ApplicationException("读取数据时出现SQL错误", sqlex);
}
catch(IOException ioex)
{
 throw new ApplicationException("写入数据时出现IO错误", ioex);
}
finally
{
 if (conn != null) {
  try {
   conn.close();
  }
  catch(SQLException sqlex2)
  {
   System.err(this.getClass().getName() + ".mymethod - 不能关闭数据库连接:                               " + sqlex2.toString());
  }
 }

 if (out != null) {
  try {
   out.close();
  }
  catch(IOException ioex2)
  {
   System.err(this.getClass().getName() + ".mymethod - 不能关闭输出文件"              + ioex2.toString());
  }
 }
}