TD: [skip ci] implement DrawView::recompute to handle all OCC exception types

This commit is contained in:
wmayer
2021-02-25 12:39:50 +01:00
parent 88d49cd982
commit 3ad1d8fccc
2 changed files with 14 additions and 0 deletions

View File

@@ -93,6 +93,19 @@ DrawView::~DrawView()
{
}
App::DocumentObjectExecReturn *DrawView::recompute(void)
{
try {
return App::DocumentObject::recompute();
}
catch (Standard_Failure& e) {
App::DocumentObjectExecReturn* ret = new App::DocumentObjectExecReturn(e.GetMessageString());
if (ret->Why.empty())
ret->Why = "Unknown OCC exception";
return ret;
}
}
App::DocumentObjectExecReturn *DrawView::execute(void)
{
// Base::Console().Message("DV::execute() - %s touched: %d\n", getNameInDocument(), isTouched());

View File

@@ -66,6 +66,7 @@ public:
/** @name methods override Feature */
//@{
/// recalculate the Feature
virtual App::DocumentObjectExecReturn *recompute() override;
virtual App::DocumentObjectExecReturn *execute(void) override;
virtual void onDocumentRestored() override;
virtual short mustExecute() const override;