📄 threadingexceptions.cpp
字号:
#include <GradSoft/ThreadingExceptions.h>#include <string>#include <strstream>namespace GradSoft {ThreadingExceptions::Failure::Failure() :std::runtime_error(std::string("Threading:Failure")), errorCode_(0),errorMessage_("Threading:Failure"), codeIsAddedToMessage_(false){}ThreadingExceptions::Failure::Failure(int code, const char* message) :std::runtime_error(std::string(message)),errorCode_(code), errorMessage_(message),codeIsAddedToMessage_(false){}ThreadingExceptions::Failure::Failure(int code, const std::string& message) :std::runtime_error(message),errorCode_(code), errorMessage_(message),codeIsAddedToMessage_(false){}ThreadingExceptions::Failure::Failure(const Failure& ex) :std::runtime_error(ex){ errorCode_ = ex.errorCode_; errorMessage_ = ex.errorMessage_; codeIsAddedToMessage_ = ex.codeIsAddedToMessage_;}ThreadingExceptions::Failure& ThreadingExceptions::Failure::operator=(const ThreadingExceptions::Failure& ex){ errorCode_ = ex.errorCode_; errorMessage_ = ex.errorMessage_; codeIsAddedToMessage_ = ex.codeIsAddedToMessage_; return *this;}const char* ThreadingExceptions::Failure::what() const{ if (!codeIsAddedToMessage_) { std::ostrstream ostr; ostr << errorMessage_ << ", OS code = " << errorCode_ << '\0'; errorMessage_ = std::string(ostr.str()); ostr.rdbuf()->freeze(0); codeIsAddedToMessage_ = true; } return errorMessage_.c_str();}void ThreadingExceptions::Failure::setData(int code, const char* data){ std::ostrstream ostr; ostr << data << ", OS code = " << code << '\0'; errorMessage_ = std::string(ostr.str()); ostr.rdbuf()->freeze(0); codeIsAddedToMessage_ = true;}ThreadingExceptions::Failure::~Failure(){}}//namespace GradSoft
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -