Android 在整个活动/片段生命周期中处理异常
因此,我正试图掌握在Android中处理异常的最佳方法 我目前的做法是:Android 在整个活动/片段生命周期中处理异常,android,exception-handling,Android,Exception Handling,因此,我正试图掌握在Android中处理异常的最佳方法 我目前的做法是: 业务逻辑/库通常会在调用堆栈中抛出异常,以便可以处理,除非异常是部分预期的并且可以在本地处理 所有活动生命周期功能(如onPause、onResume等)都有try-catch。它们捕获Exception和我的自定义BusinessException类。对于业务异常,我显示一个特定的错误,异常显示一个通用的Oops错误,同时在后台记录实际的错误 回调/侦听器等还具有try/catch和onFail/error回调 我的
- 业务逻辑/库通常会在调用堆栈中抛出异常,以便可以处理,除非异常是部分预期的并且可以在本地处理
- 所有活动生命周期功能(如onPause、onResume等)都有try-catch。它们捕获Exception和我的自定义BusinessException类。对于业务异常,我显示一个特定的错误,异常显示一个通用的Oops错误,同时在后台记录实际的错误
- 回调/侦听器等还具有try/catch和onFail/error回调
谢谢以下主要是我的意见 业务逻辑/库通常会在调用堆栈中抛出异常,以便可以处理,除非异常是部分预期的并且可以在本地处理 本地处理很好。抛出异常以强制调用堆栈中更高的本地处理是可以的。否则,我会使用事件总线告诉我的UI层(如果它在附近的话)问题发生了,如果用户需要知道问题,并且我们从UI的角度来看不在前台,可能会使用回退机制发出
通知
所有活动生命周期功能(如onPause、onResume等)都有try-catch。它们捕获Exception和我的自定义BusinessException类。对于业务异常,我显示一个特定的错误,异常显示一个通用的Oops错误,同时在后台记录实际的错误
回调/侦听器等还具有try/catch和onFail/error回调
我只担心已检查的异常和预期的未检查的异常(例如,调用第三方活动时,ActivityNotFoundException
),方法与前面描述的相同
对于其他方面,我会让默认的未捕获异常处理程序来处理它,在我的例子中通常是这样