0

我得到以下异常

java.lang.NumberFormatException:无效的int:“”

当您尝试将值存储到共享首选项中而没有任何内容插入输入字段时,就会发生这种情况。这是因为我将输入解析为 int (因为我需要对数字进行减法)

这不是什么大问题,因为该应用程序可以运行,但是只是以防万一使用该应用程序的人想要变得奇怪并尝试按下保存按钮而不输入任何我不希望它插入的数据。

我尝试了以下方法:

else if (obj ==null || obj.currentWeight.contains("")||obj.targetWeight.contains("")){
            AlertDialog.Builder builder = new AlertDialog.Builder(
                    MainActivity.this);
            builder.setTitle("No Data Stored");
            builder.setMessage("Please insert your target weight and your current weight and click Store Weight")
            .setPositiveButton("OK", null).show();

如果我将上述声明保留为

else if (obj ==null){

然后如果插入一个空值,对话框将打开并显示一条消息。

我得到数字格式异常。

任何帮助,将不胜感激

4

1 回答 1

2

一般来说,异常处理是处理这种不良行为的好方法:

if( obj != null && obj.getTargetWeight() != null ) {
 try {
  int i = Integer.parseInt( obj.getTargetWeight() );
  //do something if target weight is a number
 } catch( NumberFormatException ex ) {
   //do something if target weight was not a number.
 }
}

---编辑为精确的异常类型

于 2012-04-11T10:44:18.667 回答