Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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 onCreate抛出异常_Java_Android_Json_Jackson - Fatal编程技术网

Java 如何使android onCreate抛出异常

Java 如何使android onCreate抛出异常,java,android,json,jackson,Java,Android,Json,Jackson,我使用android上的Jackson将JSON文件解析为对象,对象映射器(或object mapper.readvalue,我不确定)抛出IOException 所以我在我的方法中添加了抛出IOException public TextBox JsonToTextBox () throws IOException { } 我的问题是,我正在从onCreate调用该方法,这不允许我抛出异常。有什么想法吗 我知道,我可以使用try-catch,我只是想看看如何通过从onCreate抛出一个异常

我使用android上的Jackson将JSON文件解析为对象,对象映射器(或object mapper.readvalue,我不确定)抛出IOException

所以我在我的方法中添加了抛出IOException

public TextBox JsonToTextBox () throws IOException {
}
我的问题是,我正在从
onCreate
调用该方法,这不允许我抛出异常。有什么想法吗


我知道,我可以使用try-catch,我只是想看看如何通过从onCreate抛出一个异常来实现这一点,感谢您的回答,不过

否则,当您使用带有
try-catch
块的方法时,您可以捕获异常

@Override
protected void onCreate(Bundle savedInstanceState) {
    //...
    try {
        TextBox textBox = JsonToTextBox();
    } catch (IOException) {
        //Handle exception
    }
} 

如果无法正确处理异常,可以将其“转换”为
RuntimeException
并重新抛出:

@Override
protected void onCreate(Bundle savedInstanceState) {
    //...
    try {
        TextBox textBox = JsonToTextBox();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
} 

尝试抓住。。。陈述或者在onCreate方法中调用一个自定义方法,该方法抛出ExceptionOni第二次try/catch并添加:log it。如果不想处理它,可以将其包装为未检查的异常。但这可能最终会发生在AppREST中,这当然是不可取的。“我只是想看看如何通过从OnCube抛出一个异常”——我可以问你为什么要这么做吗?虽然这在技术上是正确的,但我不认为这是生产代码的方法。没有人喜欢应用程序崩溃。你不同意吗?我知道我自己在评论中也提到过,但仍然。。。。我不喜欢。。。