add error policy to check return
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@908 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
parent
1e72cc7149
commit
541c601909
2 changed files with 40 additions and 3 deletions
|
@ -26,6 +26,8 @@ typedef ::Loki::CheckReturn< bool > BoolReturn;
|
|||
|
||||
typedef ::Loki::CheckReturn< string > StringReturn;
|
||||
|
||||
typedef ::Loki::CheckReturn< bool , ::Loki::FprintfStderr > BoolReturnStderr;
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
@ -41,6 +43,14 @@ BoolReturn CheckRequired( void )
|
|||
return BoolReturn( true );
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
BoolReturnStderr CheckRequiredStderr( void )
|
||||
{
|
||||
return BoolReturnStderr( true );
|
||||
}
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
BoolReturn CheckRequired( bool value )
|
||||
|
@ -143,6 +153,11 @@ int main( unsigned int argc, const char * argv[] )
|
|||
cout << "Made a nested call to CheckRequired." << endl;
|
||||
}
|
||||
|
||||
{
|
||||
BoolReturnStderr check = CheckRequiredStderr();
|
||||
}
|
||||
cout << "There should be a error message: \nCheckReturn: return value was not checked" << endl;
|
||||
|
||||
// This should assert since caller does not check return value.
|
||||
CheckRequired();
|
||||
cout << "Should assert before this line! How did we get here?" << endl;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue