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

标签 java scope try-catch-finally

当我编译下面的代码时,它显示错误“找不到符号变量” 但是如果我在 finally block 中注释代码,我就可以编译成功。

请指教。

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;
}

最佳答案

如果你想在 finally block 中引用它,你需要在 try block 之外定义它,比如

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();
}

关于java - 最后阻止在 Oracle 的 JAVA 存储过程中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10167218/

相关文章:

r - 在 [.data.table's j 中使用 lm(my_formula)

java - 如何在try和catch block 的return语句之后打印finally block 中的语句?

java - 如何使用 Java 使用 Selenium WebDriver 验证按钮是否被单击

java - 从 Java 类还是从 XML 创建 XSD?

java - 使用 JExcel API 从 Excel 文件中删除行

python - 如何在 Python 的初始化程序中访问类变量?

java - HQL 无法理解一个类的属性是另一个类的集合

javascript - 如何在构造函数中设置javascript私有(private)变量?

java - Java 中的 try-catch-finally block

c# - 是否可以在 finally block 中处理数据集然后返回数据集?