Wt::Dbo::Call::~Call has noexcept( true ) by default
Hi, I had been caugth with the issue that the exception thrown from Wt::Dbo::Call::run cannot be caugth in the user code.
The execution end up in terminate()
After two days of investigation, I had made the local patch, declaring Wt::Dbo::Call::~Call as noexcept( false ).
I think this link is relevant: http://stackoverflow.com/questions/11497252/default-destructor-nothrow
The problem exists on gcc 4.8.2 and 4.9.1 and Wt 3.3.3, on Unbuntu 14.04
I'm using Postgres as a backend.
And, I'm not sure whether it's connected with the bug or not, but tests do not pass, I received 13 errors.
Updated by Koen Deforche almost 8 years ago
- Status changed from New to Resolved
- Assignee set to Koen Deforche
- Target version set to 3.3.4
I believe you're right. Because we execute the query from the destructor this one can indeed also throw.
As a workaround you can call run() (not documented but available) beforehand to eliminate problems in the destructor.
I'll fix it using your suggestion and also document the run() method.