Tôi đang viết một công cụ xử lý một số tệp. Công cụ này sẽ có giao diện dòng lệnh nhưng cũng có thể được sử dụng làm thư viện lớp từ mã của bên thứ ba. Để đối phó với một lỗi, tôi chỉ ném một ngoại lệ. Mã của bên thứ ba có thể xử lý ngoại lệ và giao diện dòng lệnh có thể chỉ in và hủy bỏ. Tuy nhiên, ngoài các lỗi nghiêm trọng, cũng có thể xảy ra tình huống không gây tử vong và quá trình có thể tiếp tục, mà tôi muốn 'ném cảnh báo' và tiếp tục.'Ném cảnh báo' từ mã của tôi
Làm cách nào để xử lý cảnh báo, theo cách đó cả mã của bên thứ ba và giao diện dòng lệnh đều có thể làm điều gì đó với nó?
Thật đáng thất vọng khi C# /. NET không có hệ thống thông thường để tăng cảnh báo như tồn tại ở các ngôn ngữ khác. Trong Python, tôi có thể thực hiện 'warnings.warn ('some message')' hoặc 'logging.warning ('some message')' và biết rằng thông điệp của tôi có khả năng được hiển thị cho mã gọi và các tác giả của nó có thể cấu hình toàn cầu cách cảnh báo được xử lý và đăng nhập. Trong C#, không có một hệ thống tương tự. Bạn không có ý tưởng gì về thư viện đăng nhập, nếu có, ứng dụng gọi đang sử dụng và có lẽ không thể kết nối nó nếu bạn đã làm. Còn gì nữa? Chỉ cần * in * cảnh báo và hy vọng rằng không phá vỡ bất cứ điều gì? –