【问题标题】:What does this code mean exactly? [closed]这段代码到底是什么意思? [关闭]
【发布时间】:2015-01-16 14:03:21
【问题描述】:

我只是不确定这部分代码的确切含​​义。

try {
    startGame(Integer.parseInt(clickedButton.getLabel()));
} catch (Exception ex) {
    Logger.getLogger(JavaGame.class.getName()).log(Level.SEVERE, null, ex);

【问题讨论】:

  • 有什么你不明白的?

标签: java try-catch parseint


【解决方案1】:

Integer.parseInt() 接受String 并返回int。因此,该按钮的标签必须是包含数值的字符串。方法startGame 必须接受int 才能知道要开始哪个游戏。如果标签是NOT数字,它将通过抛出NumberFormatException 进入catch 块。

catch 部分是 log4j,除了例外,它将输出到日志文件和/或控制台(取决于配置)。

【讨论】:

    【解决方案2】:

    如果 Integer.parseInt() 无法转换 clickedButton 的标签中的任何字符串,那么它将引发错误。

    然后该错误将被 try catch 捕获,并使用已发生的堆栈跟踪创建一个级别为严重的日志消息。

    因为 clickedButton 的 Label 不是数字,所以抛出异常。

    【讨论】:

    • it will throw an ... "异常" ;).
    • @Tom Ya 击败了我 :) 它不仅会发送消息,还会记录消息,具体取决于开发人员的配置。
    • @Stultuske,我使用创建而不是发送。
    猜你喜欢
    • 1970-01-01
    • 2016-04-01
    • 2022-01-20
    • 2016-03-28
    • 1970-01-01
    相关资源
    最近更新 更多