C++的抛出错误到底是什么?

来源:百度知道 编辑:UC知道 时间:2024/05/17 01:53:21
有没有具体的教程呢?我看if什么东西又cerr就看不懂啊,它是什么情况下才catch()和cerr>>呢?帮忙解答,满意再加10分!
或者来个具体的程序try或者catch也行啊!

异常处理机制。
语法:
throw 表达式;
try-catch的结构:
try
{被检查语句}
catch(异常信息类型[或变量名])
{进行异常处理语句}
说明:
1.被检测语句必须放在try块中
2.try和catch必须是有{}括起来的复合语句(即使只有一个语句也不能省略)
3.一个try-catch只能有一个try但可以有多个catch以便与不同异常匹配
4.catch()的圆括号中一般只写异常信息类型而不是具体变量名的如
catch(int),当然也可以用catch(int i)
5.catch(…)可以捕捉任何类型的异常
6.如果抛出的异常信息找不到匹配的catch那么系统会调用系统函数termine终止程序

给你一个具体的才程序看看吧:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double triangel(double,double,double);
double a,b,c;
cin>>a>>b>>c;
try
{
while(a>0&&b>0&&c>0)//
{
cout<<triangel(a,b,c)<<endl;
cin>>a>>b>>c;
}
}

catch(double)//捕获double类型的异常
{
cerr<<"a="<<a<<",b="<<b<<",c="<<c<<",this is not a triangel!&quo