aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2014-02-26 20:52:24 +0100
committerWladimir J. van der Laan <laanwj@gmail.com>2014-02-26 20:52:39 +0100
commitb81f9718df7768d74d4c5dce1097ba74f8515a76 (patch)
treef6308bc6971891e48d4f34b77c4aaa900673e1ce
parentae7e5d7cebd9466d0c095233c9273e72e88fede1 (diff)
parent44235713ed0ad1810328f21108d32bbac04de87b (diff)
downloadbitcoin-b81f9718df7768d74d4c5dce1097ba74f8515a76.tar.xz
Merge pull request #3749
4423571 Replace PrintException with PrintExceptionContinue + throw (Wladimir J. van der Laan)
-rw-r--r--src/rpcclient.cpp3
-rw-r--r--src/util.cpp9
-rw-r--r--src/util.h13
3 files changed, 10 insertions, 15 deletions
diff --git a/src/rpcclient.cpp b/src/rpcclient.cpp
index 0d1746b8ca..37a501bb17 100644
--- a/src/rpcclient.cpp
+++ b/src/rpcclient.cpp
@@ -236,7 +236,8 @@ int CommandLineRPC(int argc, char *argv[])
nRet = abs(RPC_MISC_ERROR);
}
catch (...) {
- PrintException(NULL, "CommandLineRPC()");
+ PrintExceptionContinue(NULL, "CommandLineRPC()");
+ throw;
}
if (strPrint != "")
diff --git a/src/util.cpp b/src/util.cpp
index 4e326ffcf4..36dfd8ab79 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -948,15 +948,6 @@ void LogException(std::exception* pex, const char* pszThread)
LogPrintf("\n%s", message);
}
-void PrintException(std::exception* pex, const char* pszThread)
-{
- std::string message = FormatException(pex, pszThread);
- LogPrintf("\n\n************************\n%s\n", message);
- fprintf(stderr, "\n\n************************\n%s\n", message.c_str());
- strMiscWarning = message;
- throw;
-}
-
void PrintExceptionContinue(std::exception* pex, const char* pszThread)
{
std::string message = FormatException(pex, pszThread);
diff --git a/src/util.h b/src/util.h
index c28380a59b..32bc050369 100644
--- a/src/util.h
+++ b/src/util.h
@@ -164,7 +164,6 @@ static inline bool error(const char* format)
void LogException(std::exception* pex, const char* pszThread);
-void PrintException(std::exception* pex, const char* pszThread);
void PrintExceptionContinue(std::exception* pex, const char* pszThread);
void ParseString(const std::string& str, char c, std::vector<std::string>& v);
std::string FormatMoney(int64_t n, bool fPlus=false);
@@ -558,10 +557,12 @@ template <typename Callable> void LoopForever(const char* name, Callable func,
throw;
}
catch (std::exception& e) {
- PrintException(&e, name);
+ PrintExceptionContinue(&e, name);
+ throw;
}
catch (...) {
- PrintException(NULL, name);
+ PrintExceptionContinue(NULL, name);
+ throw;
}
}
// .. and a wrapper that just calls func once
@@ -581,10 +582,12 @@ template <typename Callable> void TraceThread(const char* name, Callable func)
throw;
}
catch (std::exception& e) {
- PrintException(&e, name);
+ PrintExceptionContinue(&e, name);
+ throw;
}
catch (...) {
- PrintException(NULL, name);
+ PrintExceptionContinue(NULL, name);
+ throw;
}
}