At 02:14 PM 12/12/2002, Peter Dimov wrote:
>From: "Beman Dawes" <[EMAIL PROTECTED]>
>> The exception class has been given additional functionality to provide a
>> portable error code. Etc, etc.
>
>Q: have you considered using standard errno codes as the portable error
>code?

If I understand your question, this is now being done.

The filesystem_error class now has two member functions returning error codes:

int native_error() const; // returns system specific code
// such as a POSIX or Windows error code

error_code error() const; // same on all systems; see below

enum error_code
{
no_error = 0,
system_error, // system generated error;
// if possible, is translated
// to one of the more specific errors below.
other_error, // library generated error
security_error, // includes access rights, permissions failures
read_only_error,
io_error,
path_error, // path format or a name in the path is invalid
not_found_error,
not_directory_error,
busy_error, // implies trying again might succeed
already_exists_error,
not_empty_error,
is_directory_error,
out_of_space_error,
out_of_memory_error,
out_of_resource_error
};

Is that what you meant by "standard errno code"?

The alternative I considered was to try to map the system specific code into a POSIX errno code. However, the macros seemed messy for C++.

--Beman



_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to