[ 
https://issues.apache.org/jira/browse/STDCXX-229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12547692
 ] 

Martin Sebor commented on STDCXX-229:
-------------------------------------

A common request is to add the stack trace at the call site to the exception 
what() string. See, for example, the following gcc enhancement request: 
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33903

> 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.

Reply via email to