diff --git a/packages/common/src/logger.ts b/packages/common/src/logger.ts
index 4ee1141..c711a01 100644
--- a/packages/common/src/logger.ts
+++ b/packages/common/src/logger.ts
@@ -186,7 +186,11 @@ export class Logger {
         this.disable();
         this.catching = true;
         const ret = fn();
-        this.catching = false;
+        if (this.catchStack.length === 0) {
+            this.catching = false;
+        } else {
+            this.catching = true;
+        }
         if (before) this.enable();
 
         this.catchStack.pop();