/**
* 关闭系统资源,不抛出异常,用于关闭一些不再使用的系统资源,如数据库连接,ResultSet,IO流等系统对象
*/
public static boolean closeResourceWithoutExcep(Object closeAble){ boolean closedSuccess = true; // 关闭成功标志
try{
Class<?> targetClass = closeAble.getClass();
Method closeMethod = targetClass.getMethod("close");
closeMethod.invoke(closeAble);
}catch(Exception e){
e.printTraceStack();//
closedSuccess = false;
} return closedSuccess;
}
这是我下午写的一个方法,因为一些系统资源关闭的时候,经常需要捕获异常,所以我就想到写这么个方法. 没和组长商量就把代码提了,并向其他同事介绍这个方法.但是却被批评了,请问这个方法的缺点在哪里? 麻烦高人指点,谢谢
* 关闭系统资源,不抛出异常,用于关闭一些不再使用的系统资源,如数据库连接,ResultSet,IO流等系统对象
*/
public static boolean closeResourceWithoutExcep(Object closeAble){ boolean closedSuccess = true; // 关闭成功标志
try{
Class<?> targetClass = closeAble.getClass();
Method closeMethod = targetClass.getMethod("close");
closeMethod.invoke(closeAble);
}catch(Exception e){
e.printTraceStack();//
closedSuccess = false;
} return closedSuccess;
}
这是我下午写的一个方法,因为一些系统资源关闭的时候,经常需要捕获异常,所以我就想到写这么个方法. 没和组长商量就把代码提了,并向其他同事介绍这个方法.但是却被批评了,请问这个方法的缺点在哪里? 麻烦高人指点,谢谢
解决方案 »
- struts1的errors标签问题
- 怎么样在MyEclipse8.5中 调试jsp的java代码啊
- 如何将字符串中的一些字段合并成map
- 请教有关hibernate自动建表问题,在线盼复
- java.lang.NoClassDefFoundError: javax/transaction/UserTransaction是缺少哪个jar包?
- 在自定义的PropertyEditor类中, IllegalArgumentException的捕获.
- 请教:编码转换
- 关于Hibernate建立的POJO之间的关联关系一些疑问
- jdbc中的getString()方法是否对字符串的长度有限制???
- 没有任何问题的xml,dom4j抛出这样的异常,奇怪!!
- 开发jsp网站 dreamweaver myeclipse怎么配合使用
- sturts2.2.3 需要导入些什么包?急求解决。
closeResourceWithoutExcep 再调用一下捕异常 而且还得反射调用
多此一举吧 ,并且反射耗资源
没工作过 不好说 看楼下怎么说
这样直接调用close方法就可以了,这个是正对IO流的如果是数据库之类的话,不能写出一个通用的关闭方法,需要针对不同对象写不同的方法,比如Connection,Resultset还有就是要在关闭前先判断下是否为null
要是你给我传null,就不管你了,因为谁会去关一个为null的对象?
我之所以要这么写,就是想不管她的具体类型,因为很多资源的关闭方法都一样,都是close方法,所以我这个方法相当于一个模板方法,呵呵