Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Jan 2019 21:28:56 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 235033] [feature suggestion] Stack should be unwound and exception should be printed when the C++ application throws an uncaught exception
Message-ID:  <bug-235033-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D235033

            Bug ID: 235033
           Summary: [feature suggestion] Stack should be unwound and
                    exception should be printed when the C++ application
                    throws an uncaught exception
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: misc
          Assignee: bugs@FreeBSD.org
          Reporter: yuri@freebsd.org

This program
> int main() {
>   throw "Hello!";
> }
prints
> Abort trap

It could unwind stack and print the exception message in cases when there a=
re
pending exceptions.=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20

The C++17 standard draft says
> 18.3 (note 9) If no matching handler is found, the function std::terminat=
e() is called; whether or not the stack is unwound before this call to std:=
:terminate() is implementation-defined.

(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf)

I propose that such stack unwinding is performed. This would make the behav=
ior
of programs that fail to catch exceptions more user friendly, and their err=
or
message more informative.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-235033-227>