Java 是否有必要将catch语句放在try块之后?

Java 是否有必要将catch语句放在try块之后?,java,exception-handling,try-catch,Java,Exception Handling,Try Catch,我只是想知道是否有必要在try块之后放置catch,或者我们可以使用没有catch块的try块吗?是的,您可以在没有catch的情况下编写。在这种情况下,您需要最后一个块。Try需要catch或finally,或者至少有一个catch或finally是强制的 try{ // throw exception } finally{ // do something. } 但您应该避免这种情况,因为在这种情况下,您将丢失异常详细信息。因此,如果您不想在这里处理它,那么只需抛出该异常。是的,您可

我只是想知道是否有必要在try块之后放置catch,或者我们可以使用没有catch块的try块吗?

是的,您可以在没有catch的情况下编写。在这种情况下,您需要最后一个块。Try需要catch或finally,或者至少有一个catch或finally是强制的

try{
  // throw exception
} finally{
  // do something.
}
但您应该避免这种情况,因为在这种情况下,您将丢失异常详细信息。因此,如果您不想在这里处理它,那么只需抛出该异常。

是的,您可以编写而无需捕获。在这种情况下,您需要最后一个块。Try需要catch或finally,或者至少有一个catch或finally是强制的

try{
  // throw exception
} finally{
  // do something.
}

但您应该避免这种情况,因为在这种情况下,您将丢失异常详细信息。因此,如果您不想在这里处理它,只需抛出该异常。

您需要在尝试后放置catch或finally block

try {

}
finally {

}


您需要在尝试后放置catch或finally block

try {

}
finally {

}


try而不使用catch块是一个语法错误,因为它没有意义(除非您还想使用finally块)。使用try的唯一原因是为了从该块中捕获异常(或执行finally)

try而不使用catch块是一个语法错误,因为它毫无意义(除非您还想使用finally块)。使用try的唯一原因是为了从该块中捕获异常(或执行finally)

是的,您可以。。。但是您必须在
try
之后放置
finally
块。所以你可以这样做:

try
{
}
finally
{
}


是的,你可以。。。但是您必须在
try
之后放置
finally
块。所以你可以这样做:

try
{
}
finally
{
}

试块后有必要放接球吗

不,一点也不。不强制在try块之后放置catch,除非try块后面跟着finally块。只要记住一件事,在尝试之后,一次捕获或一次最终捕获或两者都可以起作用

我们可以使用try而不使用catch块吗

是的,你可以。但那将是一个糟糕的做法。因为您正在编写一个try块,所以您应该编写catch块(用于捕获异常)并遵循finally块

试块后有必要放接球吗

不,一点也不。不强制在try块之后放置catch,除非try块后面跟着finally块。只要记住一件事,在尝试之后,一次捕获或一次最终捕获或两者都可以起作用

我们可以使用try而不使用catch块吗


是的,你可以。但那将是一个糟糕的做法。因为您正在编写一个try块,所以您应该编写catch块(用于捕获异常)以及一个很好的实践,在它之后是finally块。

在Java 7中,try with resource语句不需要catch或finally子句

try(InputStream is = new FileInputStream(..))
{
    is.read();
}

在Java7中,try with resource语句不需要catch或finally子句

try(InputStream is = new FileInputStream(..))
{
    is.read();
}

是的,您可以使用finally,但为了更实际,如果可以的话,我会使用“throws Exception”函数,因为使用try-and-catch块会使代码更难阅读。

是的,您可以使用finally,但为了更实际,我会使用“throws Exception”函数,因为使用try-and-catch块会使代码更难阅读。

首先要记住的是,您必须知道try-catch-finally块的用途

  • try
    块用于测试写入其中的代码。如果代码导致异常,它将异常抛出到
    catch
  • catch
    块用于处理抛出的异常,例如,假设您编写了提示用户仅插入数字的代码。但是用户输入了一个字母,因此代码抛出一个异常。然后,异常将被
    catch
    块捕获。然后catch块提示用户重新输入数据。这就是所谓的异常处理。但是如果你想让catch块空着就可以了
  • 您可以编写
    try
    ,但后面没有
    catch
    关键字
    但是,您必须在
    try
    块之后编写
    最后一个
  • 无论发生什么情况,
    finally
    块中的代码都将始终执行。通常在finally块中编写代码,以关闭在
    try
    块中打开的资源,如文件或数据库连接
  • 您可以使用try with resources来代替
    finally
    块(Java8中提供)
  • 因此,您可以编写
    try
    后接
    catch
    ,然后再接
    最后一个
    ,如以下示例所示:

    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
    块的问题。

    首先要记住的是,您必须知道try-catch-finally块的用途

  • try
    块用于测试写入其中的代码。如果代码导致异常,它将异常抛出到
    catch
  • catch
    块用于处理抛出的异常,例如,假设您编写了提示用户仅插入数字的代码。但是用户输入了一个字母,因此代码抛出一个异常。然后,异常将被
    catch
    块捕获。然后catch块提示用户重新输入数据。这就是所谓的异常处理。但是如果你想让catch块空着就可以了
  • 您可以编写
    try
    ,但后面没有
    catch
    关键字
    但是,您必须在
    try
    块之后编写
    最后一个
  • 无论发生什么情况,
    finally
    块中的代码都将始终执行。通常在finally块中编写代码,以关闭在
    try
    块中打开的资源,如文件或数据库连接