📄 descriptive_exception.cpp
字号:
// file : Test/ExH/System/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/System/DescriptiveException.hpp"#include <string>using std::string;using namespace Utility::ExH::System;struct E {};void postcondition (bool p) throw (E){ 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; }}//descriptive_exception.cpp,v 1.1 2005/05/24 04:33:12 turkaye Exp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -