知识点:
异常
抛出异常
捕获异常
一、异常
迄今为止,我们处理程序中的错误一般都是用if语句测试某个表达式,然后处理错误的特定义代码。
C++异常机制使用了三个新的关键字 (SEH(结构化异常处理))Structured Exception Handling
try ──标识可能出现的异常代码段
throw ──抛出一个异常
catch ──标识处理异常的代码段
提示:
使用异常处理将带来更多的系统开销。因此慎用异常。
二、抛出异常
throw
throw必须在 try代码块中.后边跟的值决定抛出异常的类型。
三、捕获异常
catch
出现在try代码块后,后边跟的数据决定捕获的类型
catch(...) //表示捕获所有异常
#include "stdafx.h" #include <malloc.h> int _tmain(int argc, _TCHAR* argv[]) { int a,b; a=333; b=0; try { if (b==0) { //错误处理 throw "出错,除数为0"; // throw 111.0; } printf("%d",a/b); } catch(char *s) { //错误处理 } catch (int i) { //整型错误代码处理 } catch(...) { //所有异常类型 } getchar(); return 0; }