本文整理汇总了C++中std::exception::getWhat方法的典型用法代码示例。如果您正苦于以下问题:C++ exception::getWhat方法的具体用法?C++ exception::getWhat怎么用?C++ exception::getWhat使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类std::exception
的用法示例。
在下文中一共展示了exception::getWhat方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sendResponseException
void RcfSession::sendResponseException(
const std::exception &e)
{
clearParameters();
const SerializationException *pSE =
dynamic_cast<const SerializationException *>(&e);
const RemoteException *pRE =
dynamic_cast<const RemoteException *>(&e);
const Exception *pE =
dynamic_cast<const Exception *>(&e);
if (pSE)
{
RCF_LOG_1()(typeid(*pSE))(*pSE) << "Returning RCF::SerializationException to client.";
encodeRemoteException(
mOut,
RemoteException(
Error( pSE->getError() ),
pSE->what(),
pSE->getContext(),
typeid(*pSE).name()));
}
else if (pRE)
{
RCF_LOG_1()(typeid(*pRE))(*pRE) << "Returning RCF::RemoteException to client.";
try
{
encodeRemoteException(mOut, *pRE);
}
catch(const RCF::Exception &e)
{
encodeRemoteException(
mOut,
RemoteException(
_RcfError_Serialization(typeid(*pRE).name(), typeid(e).name(), e.getError().getErrorString()),
e.getWhat(),
e.getContext(),
typeid(e).name()));
}
catch(const std::exception &e)
{
encodeRemoteException(
mOut,
RemoteException(
_RcfError_Serialization(typeid(*pRE).name(), typeid(e).name(), e.what()),
e.what(),
"",
typeid(e).name()));
}
}
else if (pE)
{
RCF_LOG_1()(typeid(*pE))(*pE) << "Returning RCF::Exception to client.";
encodeRemoteException(
mOut,
RemoteException(
Error( pE->getError() ),
pE->getSubSystemError(),
pE->getSubSystem(),
pE->what(),
pE->getContext(),
typeid(*pE).name()));
}
else
{
RCF_LOG_1()(typeid(e))(e) << "Returning std::exception to client.";
encodeRemoteException(
mOut,
RemoteException(
_RcfError_AppException(typeid(e).name(), e.what()),
e.what(),
"",
typeid(e).name()));
}
sendSessionResponse();
RCF_LOG_2() << "RcfServer - end remote call. " << mCurrentCallDesc;
}