basexcpt.cpp

来自「Think in C++ 2nd」· C++ 代码 · 共 31 行

CPP
31
字号
//: C23:Basexcpt.cpp

// From Thinking in C++, 2nd Edition

// Available at http://www.BruceEckel.com

// (c) Bruce Eckel 1999

// Copyright notice in Copyright.txt

// Exception hierarchies

#include <iostream>

using namespace std;



class X {

public:

  class Trouble {};

  class Small : public Trouble {};

  class Big : public Trouble {};

  void f() { throw Big(); }

};



int main() {

  X x;

  try {

    x.f();

  } catch(X::Trouble) {

    cout << "caught Trouble" << endl;

  // Hidden by previous handler:

  } catch(X::Small) {

    cout << "caught Small Trouble" << endl;

  } catch(X::Big) {

    cout << "caught Big Trouble" << endl;

  }

} ///:~

⌨️ 快捷键说明

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