Hỏi về quy chuẩn xử lý lỗi & hiển thị trên giao diện mobile/desktop/web

Khi xây dựng ứng dụng (mobile/web/desktop), mình muốn hỏi về các quy chuẩn hoặc best practice khi xử lý lỗi và hiển thị lỗi trong ứng dụng, đặc biệt trong các tình huống như:

  1. Khi không có dữ liệu (empty state)
  2. Khi gặp lỗi mạng hoặc lỗi hệ thống
  3. Khi người dùng không có quyền truy cập (403)
  4. Khi phiên đăng nhập hết hạn (401)
  5. Khi thao tác người dùng thất bại (gửi form, upload, …)

Một số câu hỏi cụ thể:

  1. Nên hiển thị lỗi trực tiếp trong content view, hay popup/modal/snackbar? Khi nào thì dùng cái nào?

  2. Các ứng dụng lớn (Google, Facebook, Slack, …) thường áp dụng những nguyên tắc gì để xử lý và hiển thị lỗi?

  3. Có những mẫu giao diện (error UI patterns) nào được xem là chuẩn cho từng loại lỗi?

  4. Có nên cố gắng tự động retry hoặc refresh trong một số trường hợp không?

  5. Đành rằng mỗi công ty sẽ có đôi chút khác biệt, nhưng có những chuẩn chung như vậy mà cộng đồng quy ước không ?

Rất mong được chia sẻ về các nguyên tắc hay framework mà mọi người đang dùng liên quan đến vấn đề này.
Xin cảm ơn !

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?