📄 ourheroichandler.htm
字号:
<pre><code><span class="codeComment">// Let's Use our X-Ray Vision to Look at the Innards of our Hero</span>
template<class DataObj, class ParamObj = DefaultParamObj<DataObj> > class OurHeroicHandler
{
private:
<span class="codeComment">// ... some state data, but assume handler is default constructible</span>
public:
dtl_ios_base::MeansOfRecovery
operator()(RootException &ex, dtl_ios_base &base,
DataObj &data, ParamObj &params)
{
<span class="codeComment">// example of what you might do in a handler</span>
if (bad())
{
LogErrorToFile(ex);
return dtl_ios_base::THROW_EXCEPTION;
}
else if (fail())
{
<span class="codeComment">// tries to make the DataObj valid and then reapplies previous operation
// to base on the good object ... may still fail</span>
bool failed = WorkMagicOnDataObjAndTryAgain(...);
if (failed)
{
LogErrorToFile(ex);
return dtl_ios_base::THROW_EXCEPTION;
}
else
return dtl_ios_base::SUPPRESS_ERROR; <span class="codeComment">// success ... our superhero
// has saved the day!</span>
}
}
};
</code></pre>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -