当前位置: 技术问答>java相关
关于try{} catch{} 的概念性问题,谢谢
来源: 互联网 发布时间:2015-11-21
本文导语: 那为什么我下面这段代码,我已经在方法里面写了try{} catch{} 但还是不行,编译出错,必须在方法名后面加入 throws SQLException才行 public void executeInsert(String sql) // throws SQLException { try { //conn ...
那为什么我下面这段代码,我已经在方法里面写了try{} catch{}
但还是不行,编译出错,必须在方法名后面加入 throws SQLException才行
public void executeInsert(String sql)
// throws SQLException
{
try
{
//conn = DriverManager.getConnection("jdbc:mysql://192.168.100.1:3306/test?, "test", "test");
conn.setAutoCommit(false);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(sql);
conn.commit();
}
catch(SQLException ex)
{ex.printStackTrace(System.err);
conn.rollback();}
finally
{
stmt.close();
conn.close();
}
}
但还是不行,编译出错,必须在方法名后面加入 throws SQLException才行
public void executeInsert(String sql)
// throws SQLException
{
try
{
//conn = DriverManager.getConnection("jdbc:mysql://192.168.100.1:3306/test?, "test", "test");
conn.setAutoCommit(false);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(sql);
conn.commit();
}
catch(SQLException ex)
{ex.printStackTrace(System.err);
conn.rollback();}
finally
{
stmt.close();
conn.close();
}
}
|
finally
{
stmt.close();//这里好像也是要的
conn.close();
}
finally
{
try {
stmt.close();
conn.close();
}
catch(...){}
}
{
stmt.close();//这里好像也是要的
conn.close();
}
finally
{
try {
stmt.close();
conn.close();
}
catch(...){}
}
|
try
{
....
}
catch(Exception e)
{
System.out.println(e);
}
finally
{
if(stmt != null)
{
try{stmt.close();}catch(Exception e){}
}
if(conn != null)
{
try{conn.close();}catch(Exception e){}
}
}
{
....
}
catch(Exception e)
{
System.out.println(e);
}
finally
{
if(stmt != null)
{
try{stmt.close();}catch(Exception e){}
}
if(conn != null)
{
try{conn.close();}catch(Exception e){}
}
}
|
try
{
....
}
catch(Exception e)
{
System.out.println(e);
}
finally
{
if(stmt != null)
{
try{stmt.close();}catch(Exception e){}
}
if(conn != null)
{
try{conn.close();}catch(Exception e){}
}
}
这个就挺标准了
:)
{
....
}
catch(Exception e)
{
System.out.println(e);
}
finally
{
if(stmt != null)
{
try{stmt.close();}catch(Exception e){}
}
if(conn != null)
{
try{conn.close();}catch(Exception e){}
}
}
这个就挺标准了
:)
|
什么语句都可以写!!
尝试一下将finally中的
stmt.close();
conn.close();
放到catch中,不要finally了这块看看是否出错??(这时方法名后不需要throws)
尝试一下将finally中的
stmt.close();
conn.close();
放到catch中,不要finally了这块看看是否出错??(这时方法名后不需要throws)
|
调用close()方法时就应该在try/catch中调用
|
当然可以写了啊
上面写的例子里的close方法不就是在finally块里的吗?
只不过是必须捕获异常
否则编译时就会出现错误
上面写的例子里的close方法不就是在finally块里的吗?
只不过是必须捕获异常
否则编译时就会出现错误
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。