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.

Reply via email to