Project

General

Profile

Actions

Bug #3550

closed

Wt::Dbo::Call::~Call has noexcept( true ) by default

Added by Nikolay Kopylov over 9 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
08/28/2014
Due date:
% Done:

0%

Estimated time:

Description

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.

Actions #1

Updated by Koen Deforche over 9 years ago

  • Status changed from New to Resolved
  • Assignee set to Koen Deforche
  • Target version set to 3.3.4

Hey,

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.

koen

Actions #2

Updated by Koen Deforche over 9 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF