Tôi không tin rằng một chương trình nên âm thầm bỏ qua hoặc gây ra sự tàn phá bất cứ khi nào nó gặp sự cố.
Những gì tôi làm với phần mềm nội bộ tôi viết cho công ty của mình ...
Nó phụ thuộc vào lỗi, giả sử nếu đó là một chức năng quan trọng đang nhập dữ liệu vào MySQL, nó cần cho người dùng biết rằng nó bị lỗi. Trình xử lý lỗi nên cố gắng thu thập càng nhiều thông tin và cung cấp cho người dùng ý tưởng về cách tự sửa lỗi để họ có thể lưu dữ liệu. Tôi cũng muốn cung cấp một cách âm thầm gửi cho chúng tôi thông tin mà họ đang cố lưu để nếu tệ hơn trở nên tồi tệ hơn, chúng tôi có thể nhập thủ công sau khi sửa lỗi.
Nếu đó không phải là một chức năng quan trọng, một cái gì đó có thể lỗi và không ảnh hưởng đến kết quả cuối cùng của những gì họ đang cố gắng đạt được, tôi có thể không hiển thị cho họ một thông báo lỗi, nhưng hãy gửi email tự động chèn nó vào phần mềm theo dõi lỗi của chúng tôi hoặc một nhóm phân phối email thông báo cho tất cả các lập trình viên trong công ty để chúng tôi nhận ra lỗi, ngay cả khi người dùng không. Điều này cho phép chúng tôi sửa chữa mặt sau trong khi ở mặt trước không ai biết chuyện gì đang xảy ra.
Một trong những điều lớn nhất tôi cố gắng tránh là gặp sự cố chương trình sau lỗi - không thể khôi phục. Tôi luôn cố gắng cung cấp cho người dùng tùy chọn để tiếp tục mà không đóng ứng dụng.
Tôi tin rằng nếu không ai biết về lỗi - nó sẽ không bao giờ được sửa. Tôi cũng là một người tin tưởng vững chắc trong việc xử lý lỗi cho phép ứng dụng tiếp tục hoạt động sau khi phát hiện ra lỗi.
Nếu lỗi liên quan đến mạng - tại sao các chức năng không thực hiện kiểm tra giao tiếp mạng đơn giản trước khi thực hiện chức năng để tránh lỗi ở vị trí đầu tiên? Sau đó, chỉ cần thông báo cho người dùng rằng không có kết nối, vui lòng xác minh internet của bạn, v.v. và thử lại?