21-3.txt

来自「《C-C++完美演绎》源代码 《C-C++完美演绎》源代码」· 文本 代码 · 共 37 行

TXT
37
字号
/* 范例:21-3 try...throw...catch */
#include <iostream.h>
void main(void)
{
  int i, j;

  cout << "请输入两数(i/j): " << endl;
  cout << "i = "; cin >> i;
  cout << "j = "; cin >> j;

  try         // 在执行时,try会检测监控这个程序区块。
  {
    if(j == 0)  /* 由设计员判断,如果使用者键入j=0的话,会使用下面的throw()
              指令丢出异常。 */
      throw("i除以j, j不可以是0");  /* 送出异常后,会由下方定义的catch()异常
                                   处理函数接收 */
    cout << "i / j = " << i/j << endl;
  }
  catch(char s[15])
  {
    cerr << s << endl;  // 将错误信息输出到屏幕上。
  }
  puts("按任意键跳出");
  getchar();
}

Project p21-3.exe raised exception class char * with message 'Exception Object Address: 0x693436'.  Process stopped.  Use Step or Run to continue.
(当出现此信息时,再编译一次)

程序执行结果﹕
请输入两数(i/j):
i = 5
j = 0
i除以j, j不可以是0
按任意键跳出

⌨️ 快捷键说明

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