View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000713 | FreeCAD | Feature | public | 2012-05-21 01:25 | 2012-05-25 07:51 |
| Reporter | jrheinlaender | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | won't fix | ||
| Product Version | 0.12 | ||||
| Fixed in Version | 0.13 | ||||
| Summary | 0000713: Document::_recomputeFeature() should handle Standard_Failure | ||||
| Description | IMHO the OpenCascade exceptions derived from Standard_Failure should also be caught here. Otherwise, I just see an "unknown exception" error with no explanatory text. Maybe not in the production build of FreeCad, but certainly in the development build. For example: catch (Standard_Failure) { Handle_Standard_Failure e = Standard_Failure::Caught(); Base::Console().Error("App::Document::_RecomputeFeature(): OpenCascade exception thrown: %s", e->GetMessageString()); } | ||||
| Additional Information | Why can't I choose product version 0.13 in this tracker? | ||||
| Tags | No tags attached. | ||||
| FreeCAD Information | |||||
|
|
And this would mean to add a dependency to the OCC library on the core system but we don't want to have this. Besides that most of Standard_Failures from OCC algorithms do not contain any text. So, the only practicable solution is to handle OCC exceptions in the execute() methods and return an instance of 'DocumentObjectExecReturn' or re-throw a Base::Exception where the programmers can set an own text if needed. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2012-05-21 01:25 | jrheinlaender | New Issue | |
| 2012-05-21 06:48 | wmayer | Note Added: 0002062 | |
| 2012-05-25 07:51 | wmayer | Status | new => closed |
| 2012-05-25 07:51 | wmayer | Resolution | open => won't fix |
| 2012-05-25 07:51 | wmayer | Fixed in Version | => 0.13 |
FreeCAD