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