Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EditText上的Android异常处理_Java_Android_Exception Handling_Invocationtargetexception - Fatal编程技术网

Java EditText上的Android异常处理

Java EditText上的Android异常处理,java,android,exception-handling,invocationtargetexception,Java,Android,Exception Handling,Invocationtargetexception,我正在网上学习Android课程,遇到了一个绊脚石。 当提交的EditText(数字)字段没有任何内容时,我的应用程序崩溃。 据我所知,我曾尝试向代码中添加异常处理程序。我还是有同样的问题。我正在处理日志中显示的异常,如下所示。 Android Studio中的InvocationTargetException条目标志为无法解析符号InvocationTargetException。 我不确定这有什么问题,也不确定是否与此相关 代码: 查看错误日志,它显示您正试图将空白字符串解析为int Ca

我正在网上学习Android课程,遇到了一个绊脚石。 当提交的EditText(数字)字段没有任何内容时,我的应用程序崩溃。 据我所知,我曾尝试向代码中添加异常处理程序。我还是有同样的问题。我正在处理日志中显示的异常,如下所示。 Android Studio中的
InvocationTargetException
条目标志为
无法解析符号InvocationTargetException
。 我不确定这有什么问题,也不确定是否与此相关

代码:


查看错误日志,它显示您正试图将空白字符串解析为
int

 Caused by: java.lang.NumberFormatException: Invalid int: ""
InvocationTargetException只是动态调用中抛出的异常的包装器


抛出异常是因为您试图捕获错误的代码片段

查看错误日志,它显示您正试图将空白字符串解析为
int

 Caused by: java.lang.NumberFormatException: Invalid int: ""
InvocationTargetException只是动态调用中抛出的异常的包装器


抛出异常是因为您试图捕获错误的代码片段

使用此帮助器方法将字符串转换为整数

public static Integer toInteger(final String str, final Integer defaultValue) {
            if (str == null) {
                return defaultValue;
            }
            try {
                return Integer.valueOf(str);
            } catch (NumberFormatException nfe) {
                return defaultValue;
            }
        }
像这样的

Integer userInteger = toInteger(getUserInput.getText().toString(), null);

if (userInteger == null) {
  Toast.makeText(getApplicationContext(), "Invalid input", Toast.LENGTH_SHORT).show();
  return;
}

使用此帮助器方法将字符串转换为整数

public static Integer toInteger(final String str, final Integer defaultValue) {
            if (str == null) {
                return defaultValue;
            }
            try {
                return Integer.valueOf(str);
            } catch (NumberFormatException nfe) {
                return defaultValue;
            }
        }
像这样的

Integer userInteger = toInteger(getUserInput.getText().toString(), null);

if (userInteger == null) {
  Toast.makeText(getApplicationContext(), "Invalid input", Toast.LENGTH_SHORT).show();
  return;
}
移动到“try”块中代码的这一行:

int userInteger = Integer.parseInt(getUserInput.getText().toString());
移动到“try”块中代码的这一行:

int userInteger = Integer.parseInt(getUserInput.getText().toString());