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