2

对于sql连接,我们通常像下面这样

Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","username","password");

由于这会引发异常,所以我们通常在 try 块中编写。但是我的问题是,如果我编写了不会在 try 块中引发异常的不必要的代码,那么性能会受到影响吗?

try
{
//some 100 lines codes that does not throw exception
 Class.forName("com.mysql.jdbc.Driver");
    con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","username","password");
}
catch(Exception e)
{
}
4

3 回答 3

2

不,至少没有任何有意义的方式。拥有“太大”的 try 块的最大危害是可读性,并且在大多数情况下它没有意义。您可以只throws SQLException在方法中有一个,而不是跨越大部分方法的 try 块。

于 2013-09-19T10:22:27.073 回答
1

不要这么想。

将您的应用程序从崩溃中拯救出来是一种很好的做法。

但想法是不要盲目使用Exception但例外参考你的try{}.

在你的情况下:

try{
//...
}
catch (ClassNotFoundException e) {

}
catch(SQLException e)
{
}
于 2013-09-19T10:24:42.460 回答
1

If I write unnecessary codes that does not throws exception with in try block then will the performance gets effected?

答案是no
在 try-blocks 中有代码应该基本上是零性能影响。当实际抛出异常时,真正的打击出现了。
阅读这些 SO 问题
1. Java try/catch 性能,是否建议将 try 子句中的内容保持在最低限度?
2.尝试 Catch Performance Java

于 2013-09-19T10:31:51.537 回答