diff --git a/dune/istl/paamg/test/amgtest.cc b/dune/istl/paamg/test/amgtest.cc
index 9d09fc45bb1fc370278e529b23841844ec637c49..c923e01bf6d0fc1b5e1d40ff7719097d551e4aa0 100644
--- a/dune/istl/paamg/test/amgtest.cc
+++ b/dune/istl/paamg/test/amgtest.cc
@@ -165,8 +165,8 @@ void testAMG(int N, int coarsenTarget, int ml)
 
 
 int main(int argc, char** argv)
+try
 {
-
   int N=100;
   int coarsenTarget=1200;
   int ml=10;
@@ -182,5 +182,10 @@ int main(int argc, char** argv)
 
   testAMG<1>(N, coarsenTarget, ml);
   testAMG<2>(N, coarsenTarget, ml);
-
 }
+catch (Dune::Exception &e)
+{
+  std::cerr << "Dune reported error: " << e << std::endl;
+}
+catch (...)
+{}
diff --git a/dune/istl/paamg/test/fastamg.cc b/dune/istl/paamg/test/fastamg.cc
index 55004feff9288228eb34c1785b040c2eeaa23d4c..9391cf26eab578d548ac71e6c47a9e4da6d9fd96 100644
--- a/dune/istl/paamg/test/fastamg.cc
+++ b/dune/istl/paamg/test/fastamg.cc
@@ -29,10 +29,8 @@ void randomize(const M& mat, V& b)
 template <int BS>
 void testAMG(int N, int coarsenTarget, int ml)
 {
-
   std::cout<<"N="<<N<<" coarsenTarget="<<coarsenTarget<<" maxlevel="<<ml<<std::endl;
 
-
   typedef Dune::ParallelIndexSet<int,LocalIndex,512> ParallelIndexSet;
 
   ParallelIndexSet indices;
@@ -110,8 +108,8 @@ void testAMG(int N, int coarsenTarget, int ml)
 
 
 int main(int argc, char** argv)
+try
 {
-
   int N=100;
   int coarsenTarget=1200;
   int ml=10;
@@ -127,5 +125,10 @@ int main(int argc, char** argv)
 
   testAMG<1>(N, coarsenTarget, ml);
   testAMG<2>(N, coarsenTarget, ml);
-
 }
+catch (Dune::Exception &e)
+{
+  std::cerr << "Dune reported error: " << e << std::endl;
+}
+catch (...)
+{}
diff --git a/dune/istl/test/superlutest.cc b/dune/istl/test/superlutest.cc
index 80d622622b7dc6403fe08cebe9500853e54cc1b6..78af1f89a0b7f3134e552b9cce1a7abc57964ab8 100644
--- a/dune/istl/test/superlutest.cc
+++ b/dune/istl/test/superlutest.cc
@@ -35,6 +35,7 @@ typedef std::complex<double> FIELD_TYPE;
 #endif
 
 int main(int argc, char** argv)
+try
 {
   const int BS=1;
   std::size_t N=100;
@@ -80,3 +81,9 @@ int main(int argc, char** argv)
   solver1.apply(x,b, res);
   solver1.apply(reinterpret_cast<FIELD_TYPE*>(&x[0]), reinterpret_cast<FIELD_TYPE*>(&b[0]));
 }
+catch (Dune::Exception &e)
+{
+  std::cerr << "Dune reported error: " << e << std::endl;
+}
+catch (...)
+{}