java - 无法读取 try catch 中的变量

标签 java variables try-catch

String selectedDate = "2012-" + createdMonth
        + "-" + createdDay;

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");

try {
    Date createdDate = dateFormat.parse(selectedDate);
} catch (ParseException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}

int x = JOptionPane.showOptionDialog(frame,
    "Here is your new booking schedule:\n "
        + "Timeslot: "
        + selectedTimeslot + "\n"
        + "Date: " + createdDate + "\n"
        + "Continue?",
    "Booking Confirmation",
    JOptionPane.YES_NO_OPTION,
    JOptionPane.QUESTION_MESSAGE, null,
    options, options[1]);

问题是 JOptionPane 中的 createdDate 无法解析为变量。这是为什么?我已经尝试了一切,比如在 try catch 之外初始化 Date 对象,但它仍然不起作用。帮助!

最佳答案

因为一旦 try block 完成,变量就超出了范围。将 jOptionPane 代码移到 try block 内或将 createDate 声明移到 try block 外。

关于java - 无法读取 try catch 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14460100/

相关文章:

java - 抽象:可选方法? [java](建模过滤器)

java - Cassandra 的服务器在 OS X 上启动错误

java - 递归搜索二叉树

java - 为什么我的异常不会打印出它的打印语句? ( java )

email - 等待60秒,然后如果Send-MailMessage失败,则重新发送Powershell

java - 为什么 Java ME 没有异常处理程序?

java - 数组列表对象作为隐式参数

perl - 如何在 Perl 中使用符号引用?

php - mysql 行结果的字段名称变量

variables - 如何在 Lua 中声明一个变量而不将其初始化为 nil?