【问题标题】:Exception for an unentered value?未输入值的异常?
【发布时间】:2010-01-26 04:32:25
【问题描述】:

在我的计算应用程序中,它接受一些输入并在固定公式中使用它们来产生多个输出,如果我尝试在没有为每个输入输入值的情况下运行它,应用程序就会崩溃。

我知道如何捕获异常,但我不知道这种错误会引发的异常的名称。谁能帮我解决这个问题?

【问题讨论】:

    标签: java android exception


    【解决方案1】:

    查看堆栈跟踪以获取异常的类名。

    如果我不得不猜测,我会说它可能是 NumberFormatException

    【讨论】:

      【解决方案2】:

      如果您可以避免触发异常,请尝试重写代码以检查这些输入字段是否为空,如果适用,这些输入是否为数字。捕获异常有时会对性能造成很大影响。

      【讨论】:

        【解决方案3】:

        我同意这听起来像是当您的 Double.parseDouble(s) 在空字符串或空字符串上失败时发生的 NumberFormatException。

        如果您的输入控件允许字母数字输入,您可以(并且应该)捕捉到这一点,但为了用户友好,您应该首先确保字符串不为空。然后您可以提供两条有用的错误消息:

        • “请输入一个值”(如果字符串为空或空白)
        • “请输入一个数字”(如果您发现解析器异常)

        您还可以考虑使用或构建一个输入控件,该控件只允许正确格式化数字输入,包括从不传回空白。如果你有这种控制,你应该捕获解析异常,因为什么都不应该发生,如果有,这意味着有一个BIG问题,你真的想要大声失败就知道了。

        如果您使用的是纯数字控件,那么您可能只是返回一个空字符串。

        【讨论】:

          【解决方案4】:

          此外,如果您使用的是 IDE,您可以附加 SDK 的源代码并直接查找源代码以查看它抛出的所有异常和位置。这样你就可以在正确的地方处理异常。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-12-20
            • 1970-01-01
            • 2013-10-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-06-06
            相关资源
            最近更新 更多