Dear deal.ii Community, I am trying to work on the exception handling aspect of my code, which employs dealii::Workstream::run() for thread based parallelization of FE system assembly. The code employs the Assert and AssertThrow macros, in conjunction with dealii::ExcMessage(), at several places with in the source code. The dealii::deal_II_exceptions::disable_abort_on_exception() command is used to ensure all Assert macros throw as well.
It is desired that the exception thrown from within a function is propagated up to the main function, where it can be caught so that the code can be "elegantly" exited instead of being aborted. The procedure works fine for exceptions thrown from single threaded functions but I get the following error for an exception thrown from the multi-threaded assembly function. --------------------------------------------------------- In one of the sub-threads of this program, an exception was thrown and not caught. Since exceptions do not propagate to the main thread, the library has caught it. The information carried by this exception is given below. --------------------------------------------------------- Having a look at the source code reveals that this is the intended behavior for exception being thrown from a sub-thread, but I am not able to understand why this is so. Alternatively, is there some way other out to ensure that the such an exception is propagated to the main ? Thanks in advance for your help. Best regards, Paras -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/d03ce31a-a774-42e3-82db-1318df2b10b7n%40googlegroups.com.