本文整理汇总了C++中ErrorPtr::GetErrorSubcode方法的典型用法代码示例。如果您正苦于以下问题:C++ ErrorPtr::GetErrorSubcode方法的具体用法?C++ ErrorPtr::GetErrorSubcode怎么用?C++ ErrorPtr::GetErrorSubcode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ErrorPtr
的用法示例。
在下文中一共展示了ErrorPtr::GetErrorSubcode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SayFailure
KLSTD_NOTHROW KLCSC_DECL void SayFailure(
int level,
Error* perror,
const wchar_t* module,
const char* file,
int line) throw()
{
int nTraceLevel = 0;
if(KLSTD::IsTraceStarted(&nTraceLevel) && nTraceLevel >= level)
{
try
{
if(!perror)
{
Trace(
level,
KLCS_MODULENAME,
L"Unknown error was caught in module \"%ls\" in file \"%hs\" on line %d\n",
module,
file,
line);
}
else
{
ErrorPtr pError = perror;
for( size_t i = 0; pError; ++i )
{
KLSTD::klwstr_t wstrLoc;
KLERR_LocFormatErrorString(pError, wstrLoc.outref());
Trace(
level,
KLCS_MODULENAME,
L"#%u, Error was caught in module \"%ls\" in file \"%hs\" on line %d."
L" Error params: (%u/0x%X (\"%ls\"), \"%ls\", \"%hs\", %d)\n\tError loc: '%ls'.\n",
(i+1),
module,
file,
line,
pError->GetId(),
pError->GetErrorSubcode(),
pError->GetMsg(),
pError->GetModuleName(),
pError->GetFileName(),
pError->GetLine(),
wstrLoc.c_str());
;
KLERR::ErrorPtr pOldErr = pError;
pError = NULL;
pOldErr->GetError2()->GetPreviousError(&pError);
};
};
}
catch(std::exception& err)
{
KLERR_TRACE_UNEXPECTED();
};
};
};