Исключение для не введенного значения? - PullRequest
0 голосов
/ 26 января 2010

В моем приложении для вычислений, которое принимает несколько входных данных и использует их в фиксированной формуле для получения нескольких выходных данных, происходит сбой приложения, если я пытаюсь запустить его, не вводя значение в каждый вход.

Я знаю, как отлавливать исключения, но я не знаю, как называется исключение, которое будет выдано этой ошибкой. Кто-нибудь может мне помочь в этом?

Ответы [ 4 ]

1 голос
/ 26 января 2010

Если вы можете избежать запуска исключения, попробуйте переписать свой код, чтобы проверить, являются ли эти поля ввода пустыми, и, если применимо, если эти входные данные являются числовыми. Поймать исключение иногда - большой удар по производительности.

1 голос
/ 26 января 2010

Кроме того, если вы используете IDE, вы можете присоединить исходный код SDK и напрямую найти источник, чтобы увидеть, что и какое исключение он выдает. Таким образом вы сможете обрабатывать исключения в нужных местах.

1 голос
/ 26 января 2010

Я согласен, это звучит как NumberFormatException, возникающее, когда ваш Double.parseDouble (s) завершается с ошибкой на пустой или нулевой строке.

Если вы вводите элемент управления, разрешающий буквенно-цифровой ввод, вы можете (и должны) перехватить, но для удобства пользователя сначала убедитесь, что строка не пустая.Затем вы можете предоставить два полезных сообщения об ошибке:

  • «Пожалуйста, введите значение» (если строка пуста или пуста)
  • «Пожалуйста, введите число» (если вы поймалиисключение синтаксического анализатора)

Вы также можете рассмотреть возможность использования или создания элемента управления вводом, который допускает только правильно отформатированный числовой ввод, в том числе никогда не пропускает пробел обратно.Если у вас есть такой тип управления, вы должны , а не перехватить исключение синтаксического анализа, так как ничего не должно произойти, и если да, это означает, что есть проблема BIG , и вы действительно хотите знать оиз-за громкого сбоя.

Если вы используете только числовой элемент управления, то, скорее всего, вы получаете пустую строку.

1 голос
/ 26 января 2010

Посмотрите на трассировку стека для имени класса исключения.

Если бы мне пришлось угадывать, я бы сказал, что это, вероятно, NumberFormatException

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...