[Test] prevent exceptions from beeing caught

Hi Is there any possibility for boost.test execution_monitor to not to catch exceptions thrown from code that I'm examining in a test case? It's the case with system errors which you can pass from execution monitor outside, to the system for further examination in debugger (--catch_system_errors=n). How am I supposed to do the same with regular exceptions i.e. detect where an exception comes from, if only information I get is something like "unknown location(0): fatal error in testValidate" etc? I would love to have possibility to detect this exception with debugger and print full stack trace, examine variables and so on. Is it possible with boost.test? Regards.

Jan Rudoszanski
Hi
Is there any possibility for boost.test execution_monitor to not to catch exceptions thrown from code that I'm examining in a test case?
Boost.Test does not prevent you from catching any exceptions. You can always say 'catch throw' and it will stop at first exception being throw. Also I am not sure in general what do you expect to happened in case if Boost.Test let's say do not catch your exception. How would it miraculously let you know where exception comes from? What I do recommend is to use Boost.Exception. These comes along with file+line where it being thrown from. Gennadiy

Hi Thanks for your reply!
Is there any possibility for boost.test execution_monitor to not to catch exceptions thrown from code that I'm examining in a test case?
Boost.Test does not prevent you from catching any exceptions. You can always say 'catch throw' and it will stop at first exception being throw.
Also I am not sure in general what do you expect to happened in case if Boost.Test let's say do not catch your exception. How would it miraculously let you know where exception comes from?
It's not a miracle its a debugger I'm saying about. I said that before. Just as I can "catch" a system error in GDB when running my test program under it, I would like to let debugger care for my uncaught exception. In such case GDB points me to the exact place where this particular exception was thrown, and additionally I have full stack trace and I can inspect every variable. It's like you throw an exception from main, and don't have any "catch" statements (I use GDB for debugging, maybe other debuggers/OS'es behave differently?).
What I do recommend is to use Boost.Exception. These comes along with file+line where it being thrown from.
Good point. I'll tr it right away. Thanks

Have you tried setting a catchpoint to stop execution when the exception is thrown? (http://www.delorie.com/gnu/docs/gdb/gdb_31.html) John
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of Jan Rudoszanski Sent: Wednesday, April 28, 2010 2:28 AM To: boost-users@lists.boost.org Subject: Re: [Boost-users] [Test] prevent exceptions from beeing caught
Hi
Thanks for your reply!
Is there any possibility for boost.test execution_monitor to not to catch exceptions thrown from code that I'm examining in a test case?
Boost.Test does not prevent you from catching any exceptions. You can always say 'catch throw' and it will stop at first exception being throw.
Also I am not sure in general what do you expect to happened in case if Boost.Test let's say do not catch your exception. How would it miraculously let you know where exception comes from?
It's not a miracle its a debugger I'm saying about. I said that before. Just as I can "catch" a system error in GDB when running my test program under it, I would like to let debugger care for my uncaught exception. In such case GDB points me to the exact place where this particular exception was thrown, and additionally I have full stack trace and I can inspect every variable. It's like you throw an exception from main, and don't have any "catch" statements (I use GDB for debugging, maybe other debuggers/OS'es behave differently?).
What I do recommend is to use Boost.Exception. These comes along with file+line where it being thrown from.
Good point. I'll tr it right away. Thanks _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users This e-mail message and any attachment(s) transmitted with it are intended only for the use of the recipient(s) named above.This message may be privileged and/or confidential. If you are not an intended recipient, you may not review, copy or distribute this message. If you have received this communication in error, please notify us immediately by e-mail and delete the original message.

On Wed, Apr 28, 2010 at 3:25 PM, John Wilkinson
Have you tried setting a catchpoint to stop execution when the exception is thrown? (http://www.delorie.com/gnu/docs/gdb/gdb_31.html)
John
This is exactly what I wanted to achieve! Worked perfectly. Thanks John!
participants (3)
-
Gennadiy Rozental
-
Jan Rudoszanski
-
John Wilkinson