我们可以在Java的try,catch和finally块之间编写任何语句吗?

不,我们不能在 try,catch和finally块 之间编写任何语句,这些块形成一个单元。try 关键字  的功能是识别异常对象并捕获该异常对象,然后通过挂起try块的执行,将控件与已标识的异常对象一起转移到catchcatch块的功能是接收try catch 异常类对象发送的异常类对象,并将该异常类对象分配给catch 块中定义的相应异常类的引用。。该finally块小号是其要得到强制不论异常的执行块。

我们可以编写诸如 try with catch block的语句,尝试多个catch块try的finally块try的catch和finally块的 语句,并且不能在这些组合之间编写任何代码或语句。如果我们尝试在这些块之间放置任何语句,则将引发编译时错误。

语法

try
{
   //监视异常的语句
}// We can't keep any statements herecatch(Exception ex){
   //在这里捕获异常
}// We can't keep any statements herefinally{
   //finally块是可选的,并且只有在try或try-catch块存在的情况下才能存在。
   //无论try块中是否发生异常,始终执行此块
   //并且是否在catch块中捕获了发生的异常。
   //如果仅发生System.exit()且没有发生任何错误,则不会仅执行finally块。
}

示例

public class ExceptionHandlingTest {
   public static void main(String[] args) {
      System.out.println("We can keep any number of statements here");
      try {
         int i = 10/0; // This statement throws ArithmeticException
         System.out.println("This statement will not be executed");
      }      //We can't keep statements here      catch(ArithmeticException ex){
         System.out.println("This block is executed immediately after an exception is thrown");
      }      //We can't keep statements here      finally {
         System.out.println("This block is always executed");
      }
         System.out.println("We can keep any number of statements here");
   }
}

输出结果

We can keep any number of statements here
This block is executed immediately after an exception is thrown
This block is always executed
We can keep any number of statements here