aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2013-02-16 10:23:30 +0000
committerVincent Richard <[email protected]>2013-02-16 10:23:30 +0000
commit0af0373cb649d57626f82d9ace8a58a7b0764059 (patch)
treebe18b94ec10e445900fe290b9c46e25b9b15794d
parentUnit tests for seekableInputStreamRegionAdapter. (diff)
downloadvmime-0af0373cb649d57626f82d9ace8a58a7b0764059.tar.gz
vmime-0af0373cb649d57626f82d9ace8a58a7b0764059.zip
Always throw std exceptions (eg. bad_alloc) and VMime time out exceptions.
-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;