Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.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 引发选中的异常后继续Android应用程序_Java_Android_Exception_Try Catch - Fatal编程技术网

Java 引发选中的异常后继续Android应用程序

Java 引发选中的异常后继续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

所以我试图在我的编辑文本框中解析一个数字输入。我使用整数解析将输入解析为int

@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之后它仍然崩溃。这意味着您没有捕获正确的异常。