本文整理汇总了C++中CDatum::IsError方法的典型用法代码示例。如果您正苦于以下问题:C++ CDatum::IsError方法的具体用法?C++ CDatum::IsError怎么用?C++ CDatum::IsError使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CDatum
的用法示例。
在下文中一共展示了CDatum::IsError方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ProcessHeader
bool CHexeMarkupEvaluator::ProcessHeader (SHTTPRequestCtx &Ctx, CDatum dResult)
// ProcessHeader
//
// Outputs the given header
{
// Check for error
if (dResult.IsError())
{
m_Output.Write(strPattern(ERR_PROCESSING_HEADER, dResult.AsString()));
return true;
}
// Processing depends on result type
switch (dResult.GetBasicType())
{
case CDatum::typeNil:
return true;
// If this is a string or anything else, we expect both field and value
// are in the same string and we need to parse it.
default:
{
CString sData = dResult.AsString();
// Parse into field and value
char *pPos = sData.GetParsePointer();
while (strIsWhitespace(pPos))
pPos++;
// Look for the field name
char *pStart = pPos;
while (*pPos != ':' && *pPos != '\0')
pPos++;
CString sField(pStart, pPos - pStart);
if (sField.IsEmpty())
{
m_Output.Write(strPattern(ERR_NO_HEADER_FIELD, sData));
return true;
}
// Look for the value
CString sValue;
if (*pPos == ':')
{
pPos++;
while (strIsWhitespace(pPos))
pPos++;
sValue = CString(pPos);
}
// Done
CHTTPMessage::SHeader *pNewHeader = m_Headers.Insert();
pNewHeader->sField = sField;
pNewHeader->sValue = sValue;
}
}
return true;
}