1.1 KiB
1.1 KiB
Skill:错误处理(Android)
与具体业务无关的 Android 错误展示设计:错误类型、友好文案与组件。
错误类型
- ErrorType 枚举:NETWORK、SERVER、TIMEOUT、AUTH、NOT_FOUND、VALIDATION、UNKNOWN。
ErrorHandler
getFriendlyError(errorType, originalMessage):生产环境返回友好文案,开发环境可带出originalMessage(如 VALIDATION)。detectErrorType(exception):根据异常 message 关键词推断类型。detectErrorTypeByStatusCode(statusCode):401/403→AUTH,404→NOT_FOUND,5xx→SERVER 等。getDisplayMessage/handleException:统一得到最终展示文案。
组件
- FriendlyErrorView:全屏错误页,图标+标题+描述+重试/去登录按钮,可选动画。
- FriendlyErrorDialog:弹窗版,带确认/取消或重试。
- InlineErrorMessage:表单等内联错误,生产环境对部分技术性文案做友好替换。
- Snackbar:
showFriendlyError扩展,用于轻量提示。
约定
- 生产环境不直接暴露后端异常原文;开发环境可通过
AppConfig.isDebugMode显示原始信息。