Wikipedia nói rằng "Một đoạn mã được cho là ngoại lệ an toàn, nếu lỗi thời gian chạy trong mã sẽ không tạo ra hiệu ứng xấu, chẳng hạn như rò rỉ bộ nhớ, dữ liệu được lưu trữ bị cắt xén hoặc đầu ra không hợp lệ. Mã an toàn ngoại lệ phải thỏa mãn các bất biến được đặt trên mã ngay cả khi ngoại lệ xảy ra. "An toàn ngoại lệ trong Qt
Và có vẻ như chúng tôi cần xử lý ngoại lệ cho sự an toàn ngoại lệ. Mặt khác, xử lý ngoại lệ không phải là rất phổ biến trong các ứng dụng Qt miễn là tôi thấy.
Thực tiễn tốt nhất của bạn trong Qt là gì để thỏa mãn sự an toàn ngoại lệ? Bạn sử dụng gì thay vì xử lý ngoại lệ?
QT là một thư viện rất cũ và rất nghèo khi nói đến an toàn ngoại lệ. Hãy xem xét cách tất cả các widget phải được phân bổ đống nhưng không có con trỏ thông minh nào cho RAII. Điều tốt nhất bạn có thể làm là phân bổ chúng thành một auto_ptr và giải phóng bộ nhớ cho bố cục/bố cục khi chèn.Họ có một số quy định cơ bản như QMutexLocker kể từ khi ném trong khi một mutex bị khóa sẽ là thảm họa, nhưng có rất nhiều thứ họ cần cung cấp hoặc toàn bộ công việc bạn sẽ phải tự mình sử dụng qt theo cách an toàn ngoại lệ . – stinky472
@ stinky472: Sai. [QSharedPointer] (http://doc.trolltech.com/4.6/qsharedpointer.html) – MSalters
@ stinky472: Bộ công cụ GUI nào cho phép tiện ích được phân bổ theo chồng? Và tại sao bạn muốn làm điều này? Âm thanh như một đối số "người rơm". – kevinarpe