except5.c

来自「俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)」· C语言 代码 · 共 41 行

C
41
字号
// Build don't link: // Special g++ Options: -fexceptions// GROUPS passed exceptions// except file// Message-Id: <199311101607.AA11803@hsi86.hsi.com>// From: Grigory Tsipenyuk <grigory@hsi.com>// Subject: exception's bug?// Date: Wed, 10 Nov 1993 11:07:12 -0500#include <iostream>class X {        int     *a;        int     sz;public:        class range { }; // exception class        X(int s)        { a=new int[sz=s]; }        int& operator[](int i);};int& X::operator[](int i){        if (i < 0 || i >= sz) {                throw range();        }        return a[i];}intmain(){        X       c(10);        try {                for (int i = 0; i < 12; i++)                        c[i] = 1;        } catch (X::range) {                std::cerr << "invalid range\n";        }        return 0;}

⌨️ 快捷键说明

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