Vì vậy, chỉ vì tò mò tôi muốn xem điều gì đặc biệt về lớp ngoại lệ cho phép nó được sử dụng với từ khóa Throw
trong khi một lớp tiêu chuẩn thì không.Tại sao một loại được ném hoặc bị bắt nguồn từ System.Exception
Tất cả tôi thấy là lớp ngoại lệ thực hiện như sau
public class Exception : System.Object, System.Runtime.Serialization.ISerializable, System.Runtime.InteropServices._Exception
{
}
Vì vậy, tôi cố gắng thực hiện những giao diện tương tự và cố gắng ném ngoại lệ tùy chỉnh của riêng tôi mà không xuất phát từ System.Exception
vô ích. Tôi chỉ đơn giản là thông báo rằng
Kiểu bắt hoặc bị ném phải được bắt nguồn từ
System.Exception
Vậy là có bất kỳ lý do cụ thể cho việc này? Tôi cho rằng có ít lựa chọn trong ngôn ngữ được quản lý dường như tùy ý.
Tôi nghĩ rằng để tìm hiểu cách thức hoạt động, sẽ có ý nghĩa hơn khi xem xét việc triển khai 'ném' thay vì lớp' Ngoại lệ '. – Guillaume
Khá công bằng nhưng thành thật mà nói, tôi sẽ không có một đầu mối nào để bắt đầu làm điều đó ... –