Java 引发选中的异常后继续Android应用程序
所以我试图在我的编辑文本框中解析一个数字输入。我使用整数解析将输入解析为intJava 引发选中的异常后继续Android应用程序,java,android,exception,try-catch,Java,Android,Exception,Try Catch,所以我试图在我的编辑文本框中解析一个数字输入。我使用整数解析将输入解析为int @Override public void afterTextChanged(Editable s) { int temp; try{ temp=Integer.parseInt(s.toString()); //do something }catch (NumberFormatException e){ temp=someOtherNumbe
@Override
public void afterTextChanged(Editable s) {
int temp;
try{
temp=Integer.parseInt(s.toString());
//do something
}catch (NumberFormatException e){
temp=someOtherNumber;
}
}
我想继续应用,即使用户输入了无效的号码。
这可能吗?如果要捕获除NumberformatException之外的任何异常,请首先检查可编辑的s,它不应为null,然后再进一步检查 然后将CatchNumberFormatException e更改为此catch异常e。如果您有任何疑问,请告知 NumberFormatException当您有足够的信心 一,。可编辑的s,s不为空。//如果不是-请在此处使用异常类 如果情况并非如此,那么捕获更精确的异常即NumberFormatException就足够了。您已经放置了一个catch块,所以不会传播异常,您仍然可以继续使用应用程序 基本结构
try{
// do your stuff here 1
}catch(NumberFormatException nfe){
// do your stuff here 2
}
// do your stuff here 3
要么在1点和2点都做,要么就在3点做。是的,这是可能的。在try-catch块中只放入可捕获的代码。在上面的catch block之后编写剩余的代码。当s.toString返回非数值时,应用程序是否仍在运行?是的,我的意思是,它只是退出应用程序****突然停止响应…但我最后应该输入什么?我可以将其留空以继续吗?您的应用程序是否因此异常而崩溃??一定不是因为你处理了那个异常。我想应该还有另外一个原因……可能是No的重复,它的数字格式例外。我只想纠正错误并继续运行…正确地说。。。捕获异常是一个糟糕的建议,也是一种糟糕的做法,请参见例如.java.lang.NumberFormatException:Invalid int:Still crushes。我只对parseInt方法使用try/catch块,将其他所有内容放在后面,但在NumberFormat之后它仍然崩溃exception@klo你确定它只是在上面的代码中崩溃,我对此表示怀疑。代码绝对是好的,仍然很有用。我只对parseInt方法使用try/catch块,将其他所有内容放在后面,但在NumberFormat exception之后它仍然崩溃。这意味着您没有捕获正确的异常。