我已經創建了一個通用的AsyncTask類中的任何異常,讓我能趕上拋出的所有異常:有當執行<code>task</code>方法通用的AsyncTask處理
public abstract class Poc<ParamType, ReturnType>
extends AsyncTask<ParamType, String, ReturnType> {
abstract ReturnType task(ParamType... param);
@Override
protected ReturnType doInBackground(ParamType... param) {
try {
return task(param);
} catch (Exception e) {
// Make some Toast display the exception.
}
return null;
}
}
我嘗試做一些東西一樣來實現上面的類:
public class Use {
public static void runIt() {
new Poc<String, Boolean>() {
@Override
Boolean task(String... param) {
return SomeObject.someMethodThatCanThrowAnException(param);
}
}.execute("Some String");
}
}
但是,它一直抱怨我想要添加try/catch語句。即使當我知道task
只會從doInBackground
調用它包裝它。
我可以以某種方式抑制這種情況嗎?或者什麼是正確的方法,而不必將try/catch添加到Poc子類中的每個類?
您是否看過錯誤? – SLaks