From da04da2f090f047c3dda42f1c7ac0bfbd905d8e5 Mon Sep 17 00:00:00 2001
From: Oliver Sander <oliver.sander@tu-dresden.de>
Date: Tue, 21 Apr 2020 15:23:57 +0200
Subject: [PATCH] Modernize exception-handling

This fixes a few compiler warnings in the tests.
---
 dune/subgrid/test/common.hh               | 54 +++++++++++------------
 dune/subgrid/test/test-w-albertagrid2d.cc |  4 +-
 dune/subgrid/test/test-w-albertagrid3d.cc |  4 +-
 dune/subgrid/test/test-w-alugrid.cc       |  4 +-
 dune/subgrid/test/test-w-onedgrid.cc      | 10 ++---
 dune/subgrid/test/test-w-ug.cc            |  4 +-
 dune/subgrid/test/test-w-yaspgrid.cc      | 12 ++---
 7 files changed, 46 insertions(+), 46 deletions(-)

diff --git a/dune/subgrid/test/common.hh b/dune/subgrid/test/common.hh
index 96c9545..d41cf25 100644
--- a/dune/subgrid/test/common.hh
+++ b/dune/subgrid/test/common.hh
@@ -233,9 +233,9 @@ size_t checkWithHostGrid(size_t host_prerefine=2, int sub_initlevel=-1, size_t s
     }
     catch (Dune::NotImplemented& e)
     {
-        std::cerr << e << std::endl;
-    } catch (Dune::Exception e) {
-        std::cerr << e <<std::endl;
+        std::cerr << e.what() << std::endl;
+    } catch (const Dune::Exception& e) {
+        std::cerr << e.what() <<std::endl;
         ret = 1;
     }
 
@@ -245,9 +245,9 @@ size_t checkWithHostGrid(size_t host_prerefine=2, int sub_initlevel=-1, size_t s
     }
     catch (Dune::NotImplemented& e)
     {
-        std::cerr << e << std::endl;
-    } catch (Dune::Exception e) {
-        std::cerr << e <<std::endl;
+        std::cerr << e.what() << std::endl;
+    } catch (const Dune::Exception& e) {
+        std::cerr << e.what() <<std::endl;
         ret = 1;
     }
     try {
@@ -255,9 +255,9 @@ size_t checkWithHostGrid(size_t host_prerefine=2, int sub_initlevel=-1, size_t s
         checkLeafIntersections(subgrid);
     } catch (Dune::NotImplemented& e)
     {
-        std::cerr << e << std::endl;
-    } catch (Dune::Exception e) {
-        std::cerr << e <<std::endl;
+        std::cerr << e.what() << std::endl;
+    } catch (const Dune::Exception& e) {
+        std::cerr << e.what() <<std::endl;
         ret = 1;
     }
 
@@ -285,9 +285,9 @@ size_t checkWithHostGrid(size_t host_prerefine=2, int sub_initlevel=-1, size_t s
     }
     catch (Dune::NotImplemented& e)
     {
-        std::cerr << e << std::endl;
-    } catch (Dune::Exception e) {
-        std::cerr << e <<std::endl;
+        std::cerr << e.what() << std::endl;
+    } catch (const Dune::Exception& e) {
+        std::cerr << e.what() <<std::endl;
         ret = 1;
     }
     try {
@@ -296,9 +296,9 @@ size_t checkWithHostGrid(size_t host_prerefine=2, int sub_initlevel=-1, size_t s
     }
     catch (Dune::NotImplemented& e)
     {
-        std::cerr << e << std::endl;
-    } catch (Dune::Exception e) {
-        std::cerr << e <<std::endl;
+        std::cerr << e.what() << std::endl;
+    } catch (const Dune::Exception& e) {
+        std::cerr << e.what() <<std::endl;
         ret = 1;
     }
      try {
@@ -307,9 +307,9 @@ size_t checkWithHostGrid(size_t host_prerefine=2, int sub_initlevel=-1, size_t s
     }
     catch (Dune::NotImplemented& e)
     {
-        std::cerr << e << std::endl;
-    } catch (Dune::Exception e) {
-        std::cerr << e <<std::endl;
+        std::cerr << e.what() << std::endl;
+    } catch (const Dune::Exception& e) {
+        std::cerr << e.what() <<std::endl;
         ret = 1;
     }
 
@@ -327,8 +327,8 @@ size_t checkWithHostGrid(size_t host_prerefine=2, int sub_initlevel=-1, size_t s
     catch (Dune::NotImplemented& e)
     {
         std::cerr << e << std::endl;
-    } catch (Dune::Exception e) {
-        std::cerr << e <<std::endl;
+    } catch (const Dune::Exception& e) {
+        std::cerr << e.what() <<std::endl;
         ret = 1;
     }
  /* // IntersectionIterator tests only make sense if coarse grid elements are fully covered by the subgrid
@@ -336,11 +336,11 @@ size_t checkWithHostGrid(size_t host_prerefine=2, int sub_initlevel=-1, size_t s
         std::cout << "Performing checkIntersectionIterator\n";
         checkIntersectionIterator(subgrid);
     }
-    catch (Dune::NotImplemented& e)
+    catch (const Dune::NotImplemented& e)
     {
-        std::cerr << e << std::endl;
-    } catch (Dune::Exception e) {
-        std::cerr << e <<std::endl;
+        std::cerr << e.what() << std::endl;
+    } catch (const Dune::Exception& e) {
+        std::cerr << e.what() <<std::endl;
         ret = 1;
     }
 */
@@ -350,9 +350,9 @@ size_t checkWithHostGrid(size_t host_prerefine=2, int sub_initlevel=-1, size_t s
     }
     catch (Dune::NotImplemented& e)
     {
-        std::cerr << e << std::endl;
-    } catch (Dune::Exception e) {
-        std::cerr << e <<std::endl;
+        std::cerr << e.what() << std::endl;
+    } catch (const Dune::Exception& e) {
+        std::cerr << e.what() <<std::endl;
         ret = 1;
     }
 
diff --git a/dune/subgrid/test/test-w-albertagrid2d.cc b/dune/subgrid/test/test-w-albertagrid2d.cc
index 80efa5c..ca55015 100644
--- a/dune/subgrid/test/test-w-albertagrid2d.cc
+++ b/dune/subgrid/test/test-w-albertagrid2d.cc
@@ -23,7 +23,7 @@ int main(int argc, char* argv[]) try {
   std::cout << "Test for SubGrid with AlbertaGrid<2,2> " << (return_val==0 ? "passed." : "failed.") << std::endl;
   return return_val;
 
-} catch (Exception e) {
-  std::cout << e << std::endl;
+} catch (const Exception& e) {
+  std::cout << e.what() << std::endl;
   return 1;
 }
diff --git a/dune/subgrid/test/test-w-albertagrid3d.cc b/dune/subgrid/test/test-w-albertagrid3d.cc
index 8aa19a3..4def200 100644
--- a/dune/subgrid/test/test-w-albertagrid3d.cc
+++ b/dune/subgrid/test/test-w-albertagrid3d.cc
@@ -23,7 +23,7 @@ int main(int argc, char* argv[]) try {
   std::cout << "Test for SubGrid with AlbertaGrid<3,3> " << (return_val==0 ? "passed." : "failed.") << std::endl;
   return return_val;
 
-} catch (Exception e) {
-  std::cout << e << std::endl;
+} catch (const Exception& e) {
+  std::cout << e.what() << std::endl;
   return 1;
 }
diff --git a/dune/subgrid/test/test-w-alugrid.cc b/dune/subgrid/test/test-w-alugrid.cc
index 6443e92..5ebff2d 100644
--- a/dune/subgrid/test/test-w-alugrid.cc
+++ b/dune/subgrid/test/test-w-alugrid.cc
@@ -66,7 +66,7 @@ int main(int argc, char* argv[]) try {
   std::cout << "Skip tests for ALUGrid, because it wasn't' found." << std::endl;
   return 0;
 #endif
-} catch (Dune::Exception e) {
-  std::cout << e << std::endl;
+} catch (const Dune::Exception& e) {
+  std::cout << e.what() << std::endl;
   return 1;
 }
diff --git a/dune/subgrid/test/test-w-onedgrid.cc b/dune/subgrid/test/test-w-onedgrid.cc
index cc1b956..424c079 100644
--- a/dune/subgrid/test/test-w-onedgrid.cc
+++ b/dune/subgrid/test/test-w-onedgrid.cc
@@ -38,7 +38,7 @@ int main (int argc, char *argv[]) try
     try {
         gridcheck(subGrid);
         checkIntersectionIterator(subGrid);
-    } catch(Dune::NotImplemented e) {
+    } catch(const Dune::NotImplemented& e) {
         std::cout<<e<<std::endl;
     }
 
@@ -62,8 +62,8 @@ int main (int argc, char *argv[]) try
     try{
         gridcheck(subGrid);
         checkIntersectionIterator(subGrid);
-    } catch(Dune::NotImplemented e) {
-        std::cout<<e<<std::endl;
+    } catch(const Dune::NotImplemented& e) {
+        std::cout << e.what() << std::endl;
     }
     return 0;
 }
@@ -71,7 +71,7 @@ int main (int argc, char *argv[]) try
 // //////////////////////////////////
 //   Error handler
 // /////////////////////////////////
-catch (Exception e) {
-    std::cout << e << std::endl;
+catch (const Exception& e) {
+    std::cout << e.what() << std::endl;
     return 1;
 }
diff --git a/dune/subgrid/test/test-w-ug.cc b/dune/subgrid/test/test-w-ug.cc
index 0de651d..8cc02c6 100644
--- a/dune/subgrid/test/test-w-ug.cc
+++ b/dune/subgrid/test/test-w-ug.cc
@@ -27,7 +27,7 @@ int main (int argc, char *argv[]) try
 // //////////////////////////////////
 //   Error handler
 // /////////////////////////////////
-catch (Exception e) {
-    std::cout << e << std::endl;
+catch (const Exception& e) {
+    std::cout << e.what() << std::endl;
     return 1;
 }
diff --git a/dune/subgrid/test/test-w-yaspgrid.cc b/dune/subgrid/test/test-w-yaspgrid.cc
index f97ced4..850b836 100644
--- a/dune/subgrid/test/test-w-yaspgrid.cc
+++ b/dune/subgrid/test/test-w-yaspgrid.cc
@@ -60,8 +60,8 @@ size_t testDim()
         gridcheck(subGrid);
         checkIntersectionIterator(subGrid);
         checkLeafIntersections(subGrid);
-    } catch(Dune::NotImplemented e) {
-        std::cout<<e<<std::endl;
+    } catch(const Dune::NotImplemented& e) {
+        std::cout << e.what() << std::endl;
     }
 
     // refine subgrid
@@ -84,8 +84,8 @@ size_t testDim()
         gridcheck(subGrid);
         checkIntersectionIterator(subGrid);
         checkLeafIntersections(subGrid);
-    } catch(Dune::NotImplemented e) {
-        std::cout<<e<<std::endl;
+    } catch(const Dune::NotImplemented& e) {
+        std::cout << e.what() << std::endl;
     }
     return 0;
 }
@@ -102,8 +102,8 @@ int main (int argc, char *argv[]) try
 
     std::cout << "Test for SubGrid with YaspGrid " << (return_val==0 ? "passed." : "failed.") << std::endl;
     return return_val;
-} catch (Exception e) {
+} catch (const Exception& e) {
 
-    std::cout << e << std::endl;
+    std::cout << e.what() << std::endl;
     return 1;
  }
-- 
GitLab