⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 except.cpp

📁 Think in C++ 第二版源码
💻 CPP
字号:
//: C23:Except.cpp

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

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

// (c) Bruce Eckel 1999

// Copyright notice in Copyright.txt

// Basic exceptions

// Exception specifications & unexpected()

#include <exception>

#include <iostream>

#include <cstdlib>

#include <cstring>

using namespace std;



class Up {};

class Fit {};

void g();



void f(int i) throw (Up, Fit) {

  switch(i) {

    case 1: throw Up();

    case 2: throw Fit();

  }

  g();

}



// void g() {} // Version 1

void g() { throw 47; } // Version 2

// (Can throw built-in types)



void my_unexpected() {

  cout << "unexpected exception thrown";

  exit(1);

}



int main() {

  set_unexpected(my_unexpected);

  // (ignores return value)

  for(int i = 1; i <=3; i++)

    try {

      f(i);

    } catch(Up) {

      cout << "Up caught" << endl;

    } catch(Fit) {

      cout << "Fit caught" << endl;

    }

} ///:~

⌨️ 快捷键说明

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