我只是想知道是否有必要在try块之后放置catch,或者我们可以使用没有catch块的try块吗?
答案 0 :(得分:4)
你需要在尝试之后放置catch或finally块。
try {
}
finally {
}
或
try {
}
catch (Exception e) {
}
答案 1 :(得分:1)
是的,你可以......但是你必须在finally
之后放置一个try
块。所以你可以这样做:
try
{
}
finally
{
}
或
try
{
}
catch(Exception e)
{
}
答案 2 :(得分:0)
是的,您可以在没有捕获的情况下编写try。在这种情况下,你需要finally块。尝试需要捕获或最终或两者都是至少一个捕获或最终是强制性的。
try{
// throw exception
} finally{
// do something.
}
但是你应该避免这种情况,因为在这种情况下你会丢失异常细节。因此,如果您不想在此处理它,那么只需抛出该异常。
答案 3 :(得分:0)
尝试没有catch块是一个语法错误,因为它没有任何意义(除非你也想使用finally块)。使用try的唯一原因是为了从该块中捕获异常(或者做一个finally)
答案 4 :(得分:0)
是否有必要在try block之后设置catch?
不,完全没有。在try块之后放置catch不是强制性的,除非并且直到try块后面跟着finally块。记住一件事,在尝试之后,捕获或者最后或两者都能起作用。
我们可以使用try而不用catch块吗?
是的,你可以。但这将是一个不好的做法。因为,你正在编写一个try块,你应该编写catch块(用于捕获异常)和一个很好的做法,以便通过finally块来跟踪它。
答案 5 :(得分:0)
是的,你可以使用finally而不是更实际我使用“throws Exception”函数,如果可以的话,因为使用try和catch块会使代码更难阅读。
答案 6 :(得分:0)
要记住的第一件事是你必须知道try-catch-finally块的目的是什么。
try
块用于测试其中写入的代码。如果代码导致异常,则会将异常抛出到catch
块。catch
块用于处理抛出的异常,例如,假设您编写的代码提示用户仅插入数字。但是用户输入了一个字母,因此代码抛出异常。然后catch
块将捕获该异常。然后catch块提示用户重新输入数据。这就是您所谓的异常处理。但是如果你想让catch块空了就没事了。try
后面添加catch
关键字,但是,您必须在finally
阻止后写try
。< / LI>
finally
块中的代码将始终执行。您通常在finally块中编写代码以关闭try
块中打开的资源,如文件或数据库连接。finally
块(在Java 8中可用)。因此,您可以编写try
,然后是catch
,然后是finally
,如下例所示:
try{
//code
}
catch(Exception ex){
//code to handle the problem.
}
finally{
//Closing resources etc.
}
或者你可以这样写:
try{
//code
}
catch(Exception ex){
//code to handle the problem.
}
或者这个:
try{
//code
}
finally{
//Closing resources etc.
}
但是,您通常希望使用catch
块处理问题。
答案 7 :(得分:-1)
在Java 7中,try-with-resource语句不需要catch或finally子句
try(InputStream is = new FileInputStream(..))
{
is.read();
}