aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vmime/net/imap/IMAPParser.hpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/vmime/net/imap/IMAPParser.hpp b/vmime/net/imap/IMAPParser.hpp
index 43f86226..6a68b0c0 100644
--- a/vmime/net/imap/IMAPParser.hpp
+++ b/vmime/net/imap/IMAPParser.hpp
@@ -4962,7 +4962,12 @@ private:
{
resp->go(*this, line, currentPos);
}
- catch (...)
+ catch (exceptions::operation_timed_out& e)
+ {
+ // Always rethrow
+ throw;
+ }
+ catch (exception& e)
{
*currentPos = oldPos;
@@ -4992,7 +4997,12 @@ public:
TYPE term;
term.go(*this, line, currentPos);
}
- catch (...)
+ catch (exceptions::operation_timed_out& e)
+ {
+ // Always rethrow
+ throw;
+ }
+ catch (exception& e)
{
*currentPos = oldPos;
@@ -5014,7 +5024,12 @@ public:
TYPE term(arg);
term.go(*this, line, currentPos);
}
- catch (...)
+ catch (exceptions::operation_timed_out& e)
+ {
+ // Always rethrow
+ throw;
+ }
+ catch (exception& e)
{
*currentPos = oldPos;