descriptive_exception.cpp
来自「ace开发环境 用来开发网络程序 其运用了设计模式、多平台、C++等多种知识」· C++ 代码 · 共 109 行
CPP
109 行
// file : Test/ExH/Logic/DescriptiveException/descriptive_exception.cpp// author : Boris Kolpackov <boris@kolpackov.net>// copyright : Copyright (c) 2002-2003 Boris Kolpackov// license : http://kolpackov.net/license.html#include "Utility/ExH/Logic/DescriptiveException.hpp"#include <string>using std::string;using namespace Utility::ExH::Logic;struct E {};void postcondition (bool p){ if (!p) throw E ();}struct StringHolder{ StringHolder (char const* s) : str_ (s) { } operator std::string () const { return str_; } string str_;};intmain (){ try { // DescriptiveException (char const*) // { DescriptiveException a ("hello"); postcondition (a.what () == string ("hello")); } // DescriptiveException (std::string const&) // { DescriptiveException a (string ("hello")); postcondition (a.what () == string ("hello")); } // DescriptiveException (T const&) // { StringHolder a ("hello"); DescriptiveException b (a); postcondition (b.what () == string ("hello")); } // DescriptiveException (DescriptiveException const&) // { DescriptiveException a ("hello"); DescriptiveException b (a); postcondition (b.what () == string ("hello")); } // ~DescriptiveException // // operator= (DescriptiveException const&) // { DescriptiveException a ("hello"); DescriptiveException b ("foo"); b = a; postcondition (b.what () == string ("hello")); } // DescriptiveException () // // init (char const*) // // what () // { DescriptiveException a ("hello"); postcondition (a.what () == string ("hello")); } } catch (...) { return -1; }}//$Id: descriptive_exception.cpp 79112 2007-07-31 09:41:46Z sowayaa $
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?