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 + -
显示快捷键?