Tôi có thể thiếu một cái gì đó rõ ràng nhưng có một tài liệu tham khảo một nơi nào đó về những gì ngoại lệ được ném bởi các chức năng trong NET và tại sao ngoại lệ có thể được ném?Làm cách nào để tìm ra ngoại lệ có thể bị hàm .NET thực hiện?
Ví dụ, gần đây tôi đã thử LINQ trong Visual C# 2008 và tôi đang tải một tệp XML vào một XDocument. Nó chỉ là thông qua thử nghiệm mà tôi nhận ra rằng nếu bạn cố gắng tải một tập tin không tồn tại, nó sẽ ném một ngoại lệ FileNotFound, nhưng nếu bạn cố gắng tải một thư mục thay vì một tập tin bạn sẽ nhận được một UnauthorizedAccessException. Ngoài ra nhìn vào không gian tên System.IO tôi có thể thấy những thứ như ngoại lệ FileLoad và PathTooLongException, và tôi có thể đoán khi nào chúng có thể bị ném nhưng có thể có những người khác ở đó có thể bị ném vào một số trường hợp mà tôi chưa nghĩ đến . Giải pháp duy nhất tôi có ngay bây giờ chỉ là nắm bắt những điều tôi biết và sau đó bắt loại ngoại lệ, nhưng tôi thà biết chính xác loại ngoại lệ nào mà tôi có nhiều khả năng gặp phải nhất và tại sao. Tôi đã nghĩ rằng thư viện MSDN sẽ có loại thông tin này, nhưng tôi không thể tìm thấy nó ở bất cứ đâu. Tôi chỉ mù? Thông tin này có ở bất kỳ nơi nào khác không?
EDIT: Một số chi tiết cụ thể hơn, ngay bây giờ tôi đang tìm các ngoại lệ có thể được ném bởi hàm XDocument.Load (chuỗi). Có vẻ như không có gì liên quan trong online documentation hoặc trình duyệt đối tượng. Bây giờ tôi có phải chạy một số thử nghiệm và xem những gì tôi chạy vào không?
Tôi sẽ bao gồm một liên kết đến bài viết đó, nhưng không thể định vị nó - đó là một đọc tốt. +1 –
Xuất phát từ việc làm Java ở đại học và C# tại nơi làm việc, tôi nghĩ đó là điều tôi nhớ nhất từ Java, mặc dù tất nhiên khi tôi còn học đại học và trước khi làm việc trên mã sản xuất, nó cảm thấy như phiền toái, tôi thấy nó thực sự hữu ích để biết những gì ngoại lệ mong đợi. – Davy8