📄 no_exceptions_support.hpp
字号:
#ifndef BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_#define BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_#if (defined _MSC_VER) && (_MSC_VER >= 1200)# pragma once#endif//----------------------------------------------------------------------// (C) Copyright 2004 Pavel Vozenilek.// Use, modification and distribution is subject to 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)////// This file contains helper macros used when exception support may be// disabled (as indicated by macro BOOST_NO_EXCEPTIONS).//// Before picking up these macros you may consider using RAII techniques// to deal with exceptions - their syntax can be always the same with // or without exception support enabled.///* Example of use:void foo() { BOOST_TRY { ... } BOOST_CATCH(const std::bad_alloc&) { ... BOOST_RETHROW } BOOST_CATCH(const std::exception& e) { ... } BOOST_CATCH_END}With exception support enabled it will expand into:void foo() { { try { ... } catch (const std::bad_alloc&) { ... throw; } catch (const std::exception& e) { ... } }}With exception support disabled it will expand into:void foo() { { if(true) { ... } else if (false) { ... } else if (false) { ... } }}*///----------------------------------------------------------------------#include <sysc/packages/boost/config.hpp>#include <sysc/packages/boost/detail/workaround.hpp>#if !(defined BOOST_NO_EXCEPTIONS)# define BOOST_TRY { try# define BOOST_CATCH(x) catch(x)# define BOOST_RETHROW throw;# define BOOST_CATCH_END }#else# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))# define BOOST_TRY { if ("")# define BOOST_CATCH(x) else if (!"")# else# define BOOST_TRY { if (true)# define BOOST_CATCH(x) else if (false)# endif# define BOOST_RETHROW# define BOOST_CATCH_END }#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -