我正在调用一个涉及大量抓取和更新可能需要10多分钟时间的表的方法。这是通过使用后台线程完成的,以便UI可以响应并且用户不必等待它完成。从后台线程的catch块中更新表状态
有可能会引发异常。在这种情况下,我需要将列的状态从“待处理”更改为“失败”。
在catch块中做到这一点很好吗?我可以在catch
块中写入代码,以便执行查询以将状态更新为失败?这是正确的方式还是有任何其他方式来做到这一点?
编辑:我可以做这样的事情,这样,当抛出一个异常,状态被更新为“失败”,并异常堆栈跟踪打印出来?
catch (Exception e) {
updateStatusByReqId(reqKey, "F");
e.printStackTrace();
}
这是否会确保如果有任何异常,申请的状态被更改为“失败”?请注意,在线创建请求时,请求将处于“待处理”状态。它应该保持悬而未决,如果一切正常,否则更改为“失败”
我不需要更新UI。我只想将状态更改为“失败”,以便将来不会进行进一步处理。 – Chillax 2012-03-19 07:21:28
即时通讯标题已更改为更新用户界面状态。我只想在列中添加状态,而不需要在UI中显示。用户界面不必等待程序结束 – Chillax 2012-03-19 07:23:36
然而,您仍然可以应用解决方案 – aleroot 2012-03-19 07:25:20