[
https://issues.apache.org/jira/browse/STDCXX-229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12601723#action_12601723
]
Martin Sebor commented on STDCXX-229:
-------------------------------------
See [N2629|http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2629.html]
for a proposal for an enhancement that would make this possible in front of the
committee.
> better exception error messages
> -------------------------------
>
> Key: STDCXX-229
> URL: https://issues.apache.org/jira/browse/STDCXX-229
> Project: C++ Standard Library
> Issue Type: Improvement
> Components: 18. Language Support, 19. Diagnostics
> Affects Versions: 4.1.2, 4.1.3, 4.1.4, 4.2.0
> Environment: all
> Reporter: Martin Sebor
> Fix For: 4.3
>
>
> ****Created By: sebor @ Apr 24, 2001 12:11:59 PM****
> Subject: better exception error messages (by using CRTL's strerror()?) (1601)
> Date: Tue, 24 Apr 2001 10:57:13 -0400
> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> A customer requested that the what() string for a standard iostream
> error be more descriptive, possibly by using the strerror() or
> perror() function to return the underlying CRTL error string...
> Example:
> #define __USE_STD_IOSTREAM
> #include <fstream>
> #include <string>
> int main() {
> try {
> std::ofstream out;
> out.exceptions(std::ios_base::badbit);
> out.open("#3.2_BLUE_%.LinkedText");
> out << "Hello!" << std::endl;
> }
> catch (std::exception& e) {
> perror("The funny looking name that isn't in scope anymore");
> std::cerr << e.what();
> }
> }
> ------------------------------- test.cxx -------------------------------
> $ run test
> The funny looking name that isn't in scope anymore: non-translatable vms
> error code: 0x186D4 %rms-f-syn, file specification syntax error
> iostream object has failbit set
> ****Modified By: sebor @ Sep 29, 2003 11:44:10 AM****
> This would be quite useful but it's non trivial to do in iostreams where
> exceptions are thrown from stream classes but errors of interest typically
> occur in stream buffers. Once possibility is to selectively capture and save
> errno in a thread-safe way (so that it can be later modified w/o affecting
> the recorded cause of the original error) when it occurs during libc and
> system calls made from streambuf members and later retrieve it when an
> exception is about to be thrown from the stream class.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.