Tham chiếu C# cho dấu ngoặc vuông cho biết: Dấu ngoặc vuông [] được sử dụng cho mảng, chỉ mục và thuộc tính. Chúng cũng có thể được sử dụng với con trỏ. (Nó cũng cho biết, đối với mảng) Một ngoại lệ được ném nếu một chỉ mục mảng nằm ngoài phạm vi.Làm cách nào để xác định ngoại lệ nào "x []" có thể bị ném?
Vì vậy, khi bạn đang sử dụng dấu ngoặc vuông trên một thứ gì đó không phải là mảng, làm thế nào để bạn biết ngoại lệ nào có thể bị ném?
Đối với từ điển (ví dụ) nếu bạn sử dụng phương thức truy nhập như Dictionary.TryGetValue, bạn có thể dễ dàng tra cứu các ngoại lệ mà phương pháp có thể ném, nhưng C# reference for square brackets [] chỉ cho biết có thể ném ngoại lệ ra khỏi phạm vi trên các mảng.
Vì vậy, nếu bạn muốn sử dụng dấu ngoặc vuông cho một số loại dữ liệu, bạn có thể tra cứu ngoại lệ nào có thể được ném cho loại dữ liệu đó?
Tôi đã thử truy cập thành viên không tồn tại của từ điển, chỉ để xem điều gì xảy ra và tôi nhận KeyNotFoundException. Tôi biết bạn cũng có thể nhận được NullReferenceException. Tài liệu này ở đâu? Và danh sách đầy đủ là gì?
tại sao bạn cần danh sách? Có một 'catch (Exception ex)' chung không hoạt động? – DiskJunky
@DiskJunky, bắt ngoại lệ chung là một thực tế tồi tệ nhất (ngoại trừ ở cấp cao nhất khi bạn có thể đăng nhập và vẫn đẩy ra). –
@pst đồng ý, cũng vì nó có thể bị quá tải, bạn có thể triển khai thực hiện lập chỉ mục của riêng bạn và ném bất kỳ thứ gì bạn thích :) – RobJohnson