Mantis - ALGLIB
|
|||||
Viewing Issue Advanced Details | |||||
|
|||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
824 | Optimization | minor | always | 2018-09-04 11:57 | 2019-12-18 15:54 |
|
|||||
Reporter: | rmanthorpe | Platform: | |||
Assigned To: | SergeyB | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | 3.14.0 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.16.0 | ||
Programming language: | C++ | ||||
|
|||||
Summary: | 0000824: FIXED: breaking change in exception handling in user callbacks | ||||
Description: |
Fixed. Now exceptions generated in user callbacks are forwarded to external code. --------------------------------------------------------------- The example below should print "user error" but instead prints "ALGLIB: exception generated in user callback". This change happened between 3.12 and 3.13. It's now no longer possible to find out what caused optimisation to fail, only that an exception was thrown. test.cpp --------------------------------------------------------------- #include "optimization.h" #include <cstdio> void callback(const alglib::real_1d_array&, alglib::real_1d_array&, void*) { throw "user error"; } int main() { alglib::minlmstate state; alglib::real_1d_array x; x.setlength(1); alglib::minlmcreatev(1, x, 1e-5, state); try { alglib::minlmoptimize(state, &callback); } catch (const char* e) { std::printf(e); } catch (alglib::ap_error& e) { std::printf(e.msg.c_str()); } return 0; } |
||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Relationships | |||||
Attached Files: | |||||
|
|||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2018-09-04 11:57 | rmanthorpe | New Issue | |||
2018-09-04 11:57 | rmanthorpe | Programming language | => C++ | ||
2019-09-03 16:26 | SergeyB | Target Version | => 3.16.0 | ||
2019-12-18 15:53 | SergeyB | Status | new => assigned | ||
2019-12-18 15:53 | SergeyB | Assigned To | => SergeyB | ||
2019-12-18 15:53 | SergeyB | Status | assigned => resolved | ||
2019-12-18 15:53 | SergeyB | Fixed in Version | => 3.16.0 | ||
2019-12-18 15:53 | SergeyB | Resolution | open => fixed | ||
2019-12-18 15:54 | SergeyB | Summary | Breaking change in minlmoptimize exception handling => FIXED: breaking change in exception handling in user callbacks | ||
2019-12-18 15:54 | SergeyB | Description Updated |
There are no notes attached to this issue. |