我想通过我的代码捕获一些异常,代码层次结构如下:
try {
// some code 1
runOnUiThread(new Runnable() {
@Override
public void run() {
// some code 2
}
});
// some code 3
runOnUiThread(new Runnable() {
@Override
public void run() {
// some code 4
}
});
} catch (Exception ex) {
}
但是当这样运行时,它不会捕捉到 some code 2
and some code 4
which are inside的任何异常runOnUiThread
,捕捉它们的唯一方法是在try-catch
内部设置一个块runOnUiThread
来捕捉它们:
try {
// some code 1
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
// some code 2
} catch (Exception e) {
}
}
});
// some code 3
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
// some code 4
} catch (Exception e) {
}
}
});
} catch (Exception ex) {
}
那么,runOnUiThread
究竟是需要这个吗?还是我做错了什么?如果它已经需要这个,是否有某种方法可以全局实现这一点,而不是try-catch
在每个runOnUiThread
代码块内部?