custom_exception_test.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 78 行

CPP
78
字号
//  (C) Copyright Gennadiy Rozental 2003-2008.//  Distributed under the Boost Software License, Version 1.0.//  (See accompanying file LICENSE_1_0.txt or copy at //  http://www.boost.org/LICENSE_1_0.txt)//  See http://www.boost.org/libs/test for the library home page.////  File        : $RCSfile$////  Version     : $Revision: 49313 $////  Description : unit test for custon user exception translator registry// ***************************************************************************// Boost.Test#include <boost/test/unit_test.hpp>#include <boost/test/unit_test_monitor.hpp>using namespace boost::unit_test;//____________________________________________________________________________//struct my_exception1{    explicit    my_exception1( int res_code ) : m_res_code( res_code ) {}    int         m_res_code;};struct my_exception2{    explicit    my_exception2( int res_code ) : m_res_code( res_code ) {}    int         m_res_code;};//____________________________________________________________________________//void throw_my_exception1(){    throw my_exception1( 12 );}void my_exception1_translator( my_exception1 ){    BOOST_TEST_MESSAGE( "Caught my_exception1" );}//____________________________________________________________________________//void throw_my_exception2(){    throw my_exception2( 89 );}void my_exception2_translator( my_exception2 ){    BOOST_TEST_MESSAGE( "Caught my_exception2" );}//____________________________________________________________________________//test_suite*init_unit_test_suite( int /*argc*/, char* /*argv*/[] ) {    test_suite* test = BOOST_TEST_SUITE("custom_exception_test");    unit_test_monitor.register_exception_translator<my_exception1>( &my_exception1_translator );    unit_test_monitor.register_exception_translator<my_exception2>( &my_exception2_translator );    test->add( BOOST_TEST_CASE( &throw_my_exception1 ) );    test->add( BOOST_TEST_CASE( &throw_my_exception2 ) );    return test;}//____________________________________________________________________________//// EOF

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?