我已经考虑过IMHO处理已检查异常的简洁方法,如下所示:
protected void handleException(Throwable e, int messageResourceId, ExceptionReaction reaction) {...}
这将是应用程序BaseActivity的一部分(因此可用于所有活动)。 在这个方法中,我打算用给定的消息字符串和一个OK按钮显示一个对话框,然后做一些事情来单独响应Exception(重新启动活动,记录用户,重置数据库,......)。 但是,对话框在UI线程上非阻塞地启动,并且调用 handleException(...)的活动将在显示对话框时继续执行 - 这很糟糕,因为很可能有一些东西出了问题,例如可能需要重新启动活动。
请注意,UI线程无法进入休眠状态或等待状态,因为对话框中的“确定”按钮根本不起作用。
有人知道如何实现这个目标吗?
答案 0 :(得分:1)
有人知道如何实现这个目标吗?
在对话框关闭按钮处理程序中添加“对异常做出某些反应”,例如通过final Runnable
。
答案 1 :(得分:0)
你试过UncaughtExceptionHandler
吗?
请参阅此文档Thread.UncaughtExceptionHandler
实现此接口并在回调uncaughtException(Thread thread, Throwable ex)