最后阻止在Oracle的JAVA存储过程中不起作用

1 java scope try-catch-finally

当我编译下面的代码时,它显示错误"找不到符号变量"但是如果我在finally块中注释代码,我能够成功编译.

请指教.

public static int writeFile (String p_file_path, String p_data) throws Exception 
{
  try {
    FileWriter outFile = new FileWriter(p_file_path,true);
    PrintWriter out = new PrintWriter(outFile);
    out.println(p_data);
  } catch (Exception  e) {
  } finally {
    out.close();
  }
  return SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

eis*_*eis 10

如果你想在finally块中引用它,你需要在try-block之外定义"out"

PrintWriter out = null;
try
{
    FileWriter outFile = new FileWriter(p_file_path,true);
    out = new PrintWriter(outFile);
    out.println(p_data);
}
finally
{
    if (out != null)
        out.close();
}
Run Code Online (Sandbox Code Playgroud)