C++函数抛出异常是什么意思?throw是什么意思?

C++函数抛出异常是什么意思?throw是什么意思?


繁花如伊
浏览 1057回答 4
4回答

明月笑刀无情

就是抛出异常 等待catch,可能具体细节有问题,意思就是这样的。可以在里层把异常继续抛出,然后在外层catch这个异常比如:void main(){try{example()}catch(exceptioin e){Console.WriteLine(e.message);}}int example(){try{int i =9/0;}catch(exception e){throw;}}

HUX布斯

就是程序出错的时候,把错误抛给上一层引用。throw语句就是用来干这个事的。比如下面的伪代码:func2(){throw new Exception("I am a error"); //生成一个自定义异常抛出}main (){try{func2();}catch(Exception ex){print ex;}}程序会输出:"I am a error"

素胚勾勒不出你

有三个关键字, 是关于异常处理的:1、 try  2、 catch  3、 throw  其中关键字try表示定义一个受到监控、受到保护的程序代码块;关键字catch与try遥相呼应,定义当try block(受监控的程序块)出现异常时,错误处理的程序模块,并且每个catch block都带一个参数(类似于函数定义时的数那样),这个参数的数据类型用于异常对象的数据类型进行匹配;而throw则是检测到一个异常错误发生后向外抛出一个异常事件,通知对应的catch程序块执行对应的错误处理。语法 :int main(){cout << "In main." << endl;//定义一个try block,它是用一对花括号{}所括起来的块作用域的代码块try{cout << "在 try block 中, 准备抛出一个异常." << endl;//这里抛出一个异常(其中异常对象的数据类型是int,值为1)//由于在try block中的代码是受到监控保护的,所以抛出异常后,程序的//控制流便转到随后的catch block中throw 1;cout << "在 try block 中, 由于前面抛出了一个异常,因此这里的代码是不会得以执行到的" << endl;}//这里必须相对应地,至少定义一个catch block,同样它也是用花括号括起来的catch( int& value ){cout << "在 catch block 中, 处理异常错误。异常对象value的值为:"<< value << endl;}cout << "Back in main. Execution resumes here." << endl;return 0;}&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS