This project is archived. Its data is read-only.
Exceptions should be caught by reference
All exceptions should be caught by reference, not by value. Bug in https://mmg-gitlab.fjfi.cvut.cz/gitlab/tnl/tnl-dev/commit/5fb2f09ff3baf7ea433a586e779a5abd731a9320: ``` In file included from ../src/Tools/tnl-diff.cpp:11: ../src/Tools/tnl-diff.h: In instantiation of ‘bool processFiles(const TNL::Config::ParameterContainer&) [with Mesh = TNL::Meshes::Grid<1, float, TNL::Devices::{anonymous}::Host, int>]’: ../src/Tools/tnl-diff.h:653:75: required from ‘bool resolveGridIndexType(const std::vector<TNL::String>&, const TNL::Config::ParameterContainer&) [with int Dim = 1; Real = float]’ ../src/Tools/tnl-diff.h:665:48: required from ‘bool resolveGridRealType(const std::vector<TNL::String>&, const TNL::Config::ParameterContainer&) [with int Dim = 1]’ ../src/Tools/tnl-diff.cpp:70:69: required from here ../src/Tools/tnl-diff.h:630:4: warning: catching polymorphic type ‘class std::ios_base::failure’ by value [-Wcatch-value=] catch( std::ios_base::failure exception ) ^~~~~ ../src/Tools/tnl-diff.h: In instantiation of ‘bool processFiles(const TNL::Config::ParameterContainer&) [with Mesh = TNL::Meshes::Grid<1, float, TNL::Devices::{anonymous}::Host, long int>]’: ../src/Tools/tnl-diff.h:655:80: required from ‘bool resolveGridIndexType(const std::vector<TNL::String>&, const TNL::Config::ParameterContainer&) [with int Dim = 1; Real = float]’ ../src/Tools/tnl-diff.h:665:48: required from ‘bool resolveGridRealType(const std::vector<TNL::String>&, const TNL::Config::ParameterContainer&) [with int Dim = 1]’ ../src/Tools/tnl-diff.cpp:70:69: required from here ../src/Tools/tnl-diff.h:630:4: warning: catching polymorphic type ‘class std::ios_base::failure’ by value [-Wcatch-value=] ../src/Tools/tnl-diff.h: In instantiation of ‘bool processFiles(const TNL::Config::ParameterContainer&) [with Mesh = TNL::Meshes::Grid<1, double, TNL::Devices::{anonymous}::Host, int>]’: ../src/Tools/tnl-diff.h:653:75: required from ‘bool resolveGridIndexType(const std::vector<TNL::String>&, const TNL::Config::ParameterContainer&) [with int Dim = 1; Real = double]’ ../src/Tools/tnl-diff.h:667:49: required from ‘bool resolveGridRealType(const std::vector<TNL::String>&, const TNL::Config::ParameterContainer&) [with int Dim = 1]’ ../src/Tools/tnl-diff.cpp:70:69: required from here ``` Other places should be checked and revised as well.
issue