diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C index 83f30b5912..0685f099c7 100644 --- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C +++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C @@ -355,15 +355,26 @@ bool Foam::functionObjectList::read() { foPtr = functionObject::New(key, time_, dict); } - catch (...) - {} + catch (Foam::IOerror& ioErr) + { + Info<< ioErr << nl << endl; + ::exit(1); + } + catch (Foam::error& err) + { + WarningInFunction + << "Caught FatalError " << err << nl << endl; + } FatalError.dontThrowExceptions(); FatalIOError.dontThrowExceptions(); if (foPtr.valid()) { objPtr = foPtr.ptr(); - ok = objPtr->start() && ok; + } + else + { + ok = false; } }