2010-01-26 47 views
-2

在我的計算應用程序中,它需要幾個輸入並在固定公式中使用它們來生成多個輸出,如果我嘗試運行該應用程序而不在每個輸入中添加值,則應用程序會崩潰。未中點值的例外情況?

我知道如何捕捉異常,但我不知道這種錯誤會引發異常的名稱。任何人都可以幫我解決這個問題嗎?

回答

1

查看異常類名的堆棧跟蹤。

如果我猜的話,我會說這可能是一個NumberFormatException異常

1

此外,如果你使用的是IDE,您可以將SDK的源代碼,並直接查找源頭上看看有什麼異常,它拋出,並在那裏。這樣你就可以在正確的地方處理異常。

1

我同意它聽起來像一個NumberFormatException發生,當你的Double.parseDouble(s)失敗的空或空字符串。

如果你輸入控制允許字母數字輸入,你可以(也應該)捕捉到這一點,但爲了用戶友好,你應該確保字符串不是空的。然後,您可以提供兩個有用的錯誤消息:

  • 「請輸入一個值」(如果字符串爲空或空)
  • 「請輸入數字」(如果你抓住解析器除外)

您也可以考慮使用或構建一個輸入控件,該控件只允許正確格式化的數字輸入,包括永不傳回空白。如果你有這樣的控制,你應該而不是捕獲解析異常,因爲沒有應該發生,如果這樣做,這意味着有一個BIG問題,你真的想通過大聲失敗知道它。

如果您使用的是僅限數字的控件,那麼可能只是您找回空字符串。

1

如果您可以避免觸發異常,請嘗試重寫您的代碼以檢查這些輸入字段是否爲空,並且如果適用,如果這些輸入是數字。捕捉異常有時會造成巨大的性能下降。