C++0x 有两个预定义error_category
对象:generic_category()
和system_category()
. 据我目前所了解的,system_category()
应该用于操作系统返回的错误,并且generic_category()
应该用于在 中找到的通用值std::errc
,它们对应于errno
值。
但是,在类 Unix 系统上应该做什么,其中errno
值是操作系统返回的错误?我应该使用system_category()
(这在非类 Unix 系统上是错误的,需要一个#ifdef
),还是应该使用generic_category()
(在类 Unix 系统上对于非标准errno
值是错误的)?