请问 JAVA 为何进不了 catch ? 楼主先在try里面打断点看看,有没进去正常的try代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该还没走完吧,估计走到 try 里面的方法了。你catch 里面直接打印。你不用debug 直接走看看。 代码就是这样,这个函数在直接在mian()里调用 单步调试F6, 在 con = DataSource.getConnection(); 就不知道跳哪里去(超过在连接池个数时) 其他代码要是出错就会进catch去!public static Boolean test_c3p0_1() { Connection con = null; Statement stmt =null; try { ComboPooledDataSource DataSource = new ComboPooledDataSource("myApp"); for(int i = 0;i < 150;i++) { con = DataSource.getConnection(); } }catch(Exception e) { e.printStackTrace(); } finally { // 关闭连接 try { stmt.close(); con.close();// 关闭数据库连接 } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }// 关闭命令对象连接 } return true; } DataSource.getConnection();当你连接池初始化的连接数不够的时候,就要重新创建连接了这个是需要一定时间的。F6继续啊如果报错了就会进catch的,没进去就没报错 唉! 知道为什么了!原来 C3P0 有这么样的参数,<!--当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出SQLException,如设为0则无限期等待。单位毫秒。Default: 0 --><property name="checkoutTimeout">100</property>未配置,结果默认为 0,就直接在 getConnection()里无限等待!增加这个配置, 现在好了!多谢各位 ! 看程序是否结束执行了?一般finally没有执行到,只有一种可能了,JVM已经退出执行了 c3p0 是异步处理的,也就是说,楼主说的那个SQL异常,不是Caller线程执行时产生的,而是C3p0内部的线程在处理时产生的。不是当前线程产生的异常,当然捕获不了了。 一个菜鸟的疑问 怎么用java转换16进制ieee浮点数C1C8FDF3为10进制小数 请教double数值的显示 【新人求助!!】关于将两个字符串数组合并的问题 session.createSQLQuery为什么不能更新数据库???急 为啥我的汉字得不到unicode码?!!! 菜鸟提问:什么叫匿名内部类,非匿名内部类 求各位帮忙 解决一下!!! 软件工程硕士的老师出了一道题目,是关于网络计算方面的,我连题目都看不懂,谁帮我答出来给多少分都行。 帮看看这两行代码有什么问题 JDBC事务处理 怎么用POI Word插入图片
你catch 里面直接打印。
你不用debug 直接走看看。
代码就是这样,这个函数在直接在mian()里调用
单步调试F6, 在 con = DataSource.getConnection(); 就不知道跳哪里去(超过在连接池个数时)
其他代码要是出错就会进catch去!public static Boolean test_c3p0_1()
{
Connection con = null;
Statement stmt =null;
try
{
ComboPooledDataSource DataSource = new ComboPooledDataSource("myApp");
for(int i = 0;i < 150;i++)
{
con = DataSource.getConnection();
} }catch(Exception e)
{
e.printStackTrace();
}
finally
{
// 关闭连接
try {
stmt.close();
con.close();// 关闭数据库连接
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// 关闭命令对象连接
}
return true;
}
原来 C3P0 有这么样的参数,
<!--当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出
SQLException,如设为0则无限期等待。单位毫秒。Default: 0 -->
<property name="checkoutTimeout">100</property>未配置,结果默认为 0,就直接在 getConnection()里无限等待!
增加这个配置, 现在好了!
多谢各位 !
一般finally没有执行到,只有一种可能了,JVM已经退出执行了
也就是说,楼主说的那个SQL异常,不是Caller线程执行时产生的,而是C3p0内部的线程在处理时产生的。
不是当前线程产生的异常,当然捕获不了了。