From cf36a587c71d20eaaa0f0fda82918a6d07bdee97 Mon Sep 17 00:00:00 2001 From: Markus Blatt <markus@dr-blatt.de> Date: Mon, 27 Jan 2020 20:47:38 +0100 Subject: [PATCH] Commit throw exceptions in the setup or solve. --- dumux/linear/genericistlbackend.hh | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/dumux/linear/genericistlbackend.hh b/dumux/linear/genericistlbackend.hh index 75f10fc35b..f06f0e7d53 100644 --- a/dumux/linear/genericistlbackend.hh +++ b/dumux/linear/genericistlbackend.hh @@ -120,12 +120,20 @@ public: { Dune::initSolverFactories<typename AMGTraits::LinearOperator>(); } + std::shared_ptr<Dune::InverseOperator<Vector, Vector>> solver; try{ - std::shared_ptr<Dune::InverseOperator<Vector, Vector>> solver = getSolverFromFactory(fop, params_); - Dune::InverseOperatorResult res; + solver = getSolverFromFactory(fop, params_); + } + catch(Dune::Exception& e){ + std::cerr << "Could not create solver with factory" << std::endl; + std::cerr << e.what() << std::endl; + throw e; + } + try + { solver->apply(x,b,result_); }catch(Dune::Exception& e){ - std::cerr << "Could not create solver" << std::endl; + std::cerr << "Exception thrown during linear solve." << std::endl; std::cerr << e.what() << std::endl; throw e; } -- GitLab