Trước hết (như lời nhắc), vô hiệu hóa ngoại lệ và RTTI là các phần mở rộng cụ thể của trình biên dịch mà Standard không cân nhắc.
Kể từ bộ thư viện chuẩn thường được gắn liền với trình biên dịch, nó thể thể là thực hiện của bạn bộ thư viện chuẩn đã được thiết kế đặc biệt để đối phó với điều này (và đặc biệt là để đối phó với new
trở về con trỏ null thay vì nâng cao std::bad_alloc
).
Vì vậy, những gì bạn yêu cầu là không hợp lý. Kiểm tra tài liệu của thư viện của riêng bạn để biết danh sách đầy đủ.
Điều đó đang được nói, tiêu chuẩn không đảm bảo rằng một số thao tác sẽ không bao giờ bị ném. Tôi không biết về bất kỳ hoạt động nào nuốt các ngoại lệ, tôi cho rằng hầu hết chúng đều an toàn khi sử dụng.
Ví dụ: tất cả các thuật toán phải an toàn.
Tuy nhiên, một lần nữa, tôi chỉ có thể khuyên bạn nên đọc tài liệu của triển khai của bạn.
Nguồn
2011-09-13 12:42:04
Thực tế, tất cả các tính năng đều có thể sử dụng được, cho đến khi ngoại lệ thực sự được ném. Sau đó, chương trình của bạn bị treo. Nếu chức năng thư viện có thể ném, điều này được quy định trong tiêu chuẩn, do đó, theo cách có danh sách - bản thân tiêu chuẩn. –
@ n.m. có vẻ như bạn có thể đã đọc bài đăng của tôi bằng cách sử dụng định nghĩa sai về 'thực tế': http://dictionary.reference.com/browse/practically. nếu không, có sự khác biệt về độ phức tạp và địa phương của những thứ như 'std :: vector.at (size_t)' so với luồng và khóa của chương trình/môi trường. đã triển khai các thư viện luồng và khóa, tôi có thể cho bạn biết rằng bạn có thể bảo vệ bản thân trước các thư viện dễ dàng và dễ đoán trước. (cont) – justin
(tiếp) bảo vệ chính mình sau này phức tạp hơn nhiều. khi mọi thứ đi sai, một ngoại lệ không được giải quyết không phải là một giải pháp (đối với một số người trong chúng ta). tôi không thể bỏ qua những lỗi này :) do đó, tôi không thể dựa vào việc triển khai luồng và khóa của thư viện vì sự phòng thủ duy nhất được cung cấp bởi thư viện là ngoại lệ. trong kết luận, các giao diện luồng và khóa không phù hợp cho các chương trình mà các ngoại lệ bị vô hiệu hóa. hy vọng rằng sẽ giúp. – justin