except3.c

来自「linux下的gcc编译器」· C语言 代码 · 共 51 行

C
51
字号
// Build don't link: // Special g++ Options: -fexceptions// GROUPS passed exceptions// except file// Message-Id: <9211301118.AA09810@ss670mp.geco.slb.com>// From: willoch@ss670mp.oslo.sgp.slb.com (thorbjorn willoch)// Subject: -fansi-exceptions bug// Date: Mon, 30 Nov 92 11:18:05 GMTextern "C" int printf(const char *, ...);class Vector{    int* p;    int sz;  public:    Vector(int s) { p = new int[sz=s]; }    ~Vector() {delete [] p; }    int size() {return sz; }    class Range{};      int& operator[](int i);}; int& Vector::operator[](int i){    if(0<=i && i<sz) return p[i];    throw Range();} void do_something(Vector& v){    int i = v[v.size()+10];} main(){    Vector v(10);     try    {        do_something(v);    }     catch (Vector::Range)    {        printf("Range error exception\n");    }}

⌨️ 快捷键说明

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