|
From: | John W. Eaton |
Subject: | Re: Major revision for error handling in the interpreter |
Date: | Sun, 6 Oct 2019 17:55:41 -0400 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 |
On 10/6/19 5:39 PM, Pantxo wrote:
I have tried to call "error" from the GUI thread, namely in gl2ps_renderer::draw_axes, and this now crashes Octave. Does this mean that we need to redo the mechanism for rethrowing exceptions in octave_qapplication::notify and GLCanvas::do_print?
No, we should not need to change that. Can you give me a recipe for reproducing the crash?
Previously, the error function would print a message, then throw an exception. There were ways to save or discard the message for later handling, but that was not the default. Now the message is stored as part of the exception object, then we throw the exception and always have to handle displaying the message when the exception is caught.
But we are still throwing an execution_exception object, so catching that in the GUI thread and calling the event_manager to queue an error in the interpreter thread should still work as before. If it is failing now, then it was not an intentional change.
jwe
[Prev in Thread] | Current Thread | [Next in Thread] |