Index: uspace/lib/cpp/include/internal/trycatch.hpp
===================================================================
--- uspace/lib/cpp/include/internal/trycatch.hpp	(revision 892118858c0b69e5d5b08eafae0add5eb2d53c3f)
+++ uspace/lib/cpp/include/internal/trycatch.hpp	(revision 4529c4bfeccc1c05659d1ef59e0f841f69c0203f)
@@ -61,11 +61,5 @@
         extern bool exception_thrown;
 
-        /**
-         * These two variables can be used to suppress
-         * the execution of eithe the try blocks
-         * or the catch blocks.
-         */
         inline constexpr bool try_blocks_allowed{true};
-        inline constexpr bool catch_blocks_allowed{false};
     }
 }
@@ -92,5 +86,5 @@
 #define LIBCPP_EXCEPTION_IGNORE       /* IGNORE */
 #define LIBCPP_EXCEPTION_HANDLE_THROW LIBCPP_EXCEPTION_IGNORE
-#define LIBCPP_EXCEPTION_HANDLE_CATCH LIBCPP_EXCEPTION_IGNORE
+#define LIBCPP_EXCEPTION_HANDLE_CATCH LIBCPP_EXCEPTION_HANG
 
 #define try if constexpr (::std::aux::try_blocks_allowed)
@@ -107,7 +101,8 @@
     { \
         printf("[EXCEPTION] Caught < "#expr" > at %s:%d\n", __FILE__, __LINE__); \
+        ::std::aux::exception_thrown = false; \
         LIBCPP_EXCEPTION_HANDLE_CATCH \
     } \
-    if constexpr (::std::aux::catch_blocks_allowed)
+    if constexpr (false)
 
 /**
