Tôi không hiểu tại sao chúng ta cần phải phân biệt mã lỗi (std::error_code)
và lỗi condition(std::error_condition)
, chúng có giống nhau không? Ưu điểm của điều kiện lỗi so với mã lỗi là gì?mã lỗi và điều kiện lỗi
Trả lời
Từ http://en.cppreference.com/w/cpp/error/error_condition
std :: error_condition là một mã lỗi nền tảng độc lập. Giống như std :: error_code, nó được xác định duy nhất bởi một giá trị số nguyên và một số std :: error_category, nhưng không giống như std :: error_code, giá trị không phải là phụ thuộc vào nền tảng.
Vì vậy, lợi thế là mã lỗi của bạn không cụ thể cho nền tảng mà bạn đang làm việc khi sử dụng std::error:condition
.
Với một std::error_code
Mỗi đối tượng std :: error_code giữ một cặp mã lỗi có nguồn gốc từ hệ điều hành, hoặc một số giao diện ở mức độ thấp
Vì vậy, error_code
sẽ tham khảo điều gì đó cụ thể cho nền tảng của bạn, một phần cứng, v.v.
Có thể thuận lợi khi sử dụng cả hai. error_condition
là "trừu tượng di động", do đó sẽ là thông báo lỗi chung để cung cấp cho người dùng và error_code
sẽ là thông tin phụ thuộc nền tảng sẽ hữu ích cho việc gỡ lỗi cụ thể.
Triển khai điển hình [của error_condition] chứa một thành viên dữ liệu nguyên (giá trị) và con trỏ tới std :: error_category.
Câu trả lời đơn giản nhất cho câu hỏi này tôi tìm thấy ở đây: http://blog.think-async.com/2010/04/system-error-support-in-c0x-part-5.html.
error_code lớp - biểu thị giá trị lỗi cụ thể được trả về bởi thao tác (chẳng hạn như cuộc gọi hệ thống). class error_condition - một cái gì đó mà bạn muốn kiểm tra và, có khả năng, phản ứng lại trong mã của bạn.
Tôi nghĩ rằng nó cũng áp dụng cho C++ 11.
- 1. Lỗi điều kiện Makefile
- 2. Điều kiện lỗi và thử lại trong gearman?
- 3. điều kiện lỗi Dns.GetHostEntry và phương pháp giải quyết
- 4. GHC: lỗi phân đoạn trong điều kiện lạ
- 5. Sự khác biệt giữa lỗi mã trả về và lỗi
- 6. Lỗi trên thanh lỗi | --o-- | không vẽ nhiều hơn ba điều kiện trong dotplot
- 7. Cú pháp lỗi trong biểu thức điều kiện
- 8. Compile lỗi thời gian và mã unreachable
- 9. Lỗi mã hóa với sqlalchemy và postgresql
- 10. Mã lỗi HTTP 406 và 415
- 11. Lỗi java Sự kiện lỗi khởi tạo EventBus
- 12. Lỗi giải mã: Khối đệm bị lỗi
- 13. Bắt lỗi theo dõi lỗi khi chạy mã từ bảng điều khiển trong Chrome
- 14. LoadLibrary() mã lỗi 127
- 15. Lỗi mã hóa và giải mã 0x0407106B sử dụng OpenSSL
- 16. Mã lỗi ADB
- 17. Mã lỗi HTTP 505
- 18. CoreData 1570 Mã lỗi
- 19. Dapper và trong Điều kiện
- 20. Gỡ lỗi mã Lisp
- 21. Lỗi giải mã Powershell
- 22. MSB3073 mã lỗi 9009
- 23. MySQL mã lỗi 1235
- 24. Lỗi HTTP Lỗi IIS 7.0 500.19 Lỗi Máy chủ Internet (Mã lỗi 0x80070003)
- 25. Lỗi bắt lỗi bằng Python và FTP
- 26. Điều gì khác khi xây dựng Debug được chạy với gỡ lỗi và không gỡ lỗi?
- 27. Khi vòng lặp và nhiều điều kiện
- 28. Mã trạng thái HTTP cho lỗi chung
- 29. Làm thế nào để làm cho mã excel vba đủ điều kiện/cách phá vỡ lỗi thời gian chạy?
- 30. Mã lỗi MediaPlayer của Android?
Có ai đã xem Jimbo và StoryTeller trong cùng một phòng cùng một lúc không? – user93353
haha yeah đó là một trong những tốt phải không? – Jimbo