C++中throw是跳出整个循环还是整个函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中throw是跳出整个循环还是整个函数相关的知识,希望对你有一定的参考价值。
举个例子先。funA()
//....
while(...)
if(...)
throw new exception;
funB()
funA();
int main()
try
funB();
catch(exception* e)
//捕获到异常
在函数A中,由于某种原因抛出了一个异常,这不但会退出循环,同时还会退出整个A函数。
由于调用A函数的B没有捕获这个异常,因此B也要退出。异常继续往上传递,现在到了main函数,它里面使用try-catch捕获到了这个异常,因此进入了catch代码块。
简而言之就是 throw一个异常会退出这个函数的调用堆栈,直到其上级堆栈有捕获为止。如果都没有捕获,那么程序退出。退出错误为,unhandled exception。 参考技术A 不止是跳出整个函数,如果没有任何地方捕捉,跳出整个应用; 参考技术B 直接报错 参考技术C 抛出异常处理~
在处理中你就随意了。
js循环
Js循环
for循环:
语法for(a;b;c){
循环体
}
a:初始化变量。b:条件语句。C:增量;增量无论是i++还是++i效果都是一样的。
嵌套循环:
外层循环一次,内层循环整套。
Break跳出循环,跳出整个循环。Continue跳出循环,跳出当前循环。
Eg:
document.write(‘<table border="1" cellpadding="0" cellspacing="0" bgcolor="#ABCDEF" width="80%">‘);
for(var i=9;i>=1;--i){
document.write(‘<tr>‘);
for(var j=1;j<=i;j++){
document.write(‘<td>‘+i+‘x‘+j+‘=‘+(i*j)+‘</td>‘);
}
document.write(‘</tr>‘);
}
document.write(‘</table>‘);
(Js通过id获取HTML元素:
document.getElementById();
Js通过name获取HTML元素:
document.getElementByname();
Js通过签名获取HTML元素:
var x=document.getElementById("main");
var y=x.getElementsByTagName("p");
Js可以输出标签,但是要注意引号的使用。否则会报错。
Js控制标签的内容。 .innerHTML();
Js改变 HTML 属性
document.getElementById(id).src=new value
Js改变 HTML 样式
document.getElementById("p2").style.color)
While循环:
while (条件)
{
循环体
}
do
{
循环体
}while (条件);
Do while循环至少执行一次。
局部变量:函数里面的是局部变量
Switch(exp){
Case 值1:
代码段;
Break;
Case 值2:
代码段;
Break
Case 值3:
代码段;
Break
Default:
代码段;
Break
}
exp:变量
严格类型比较(===)如果没有break退出,执行判断某个条件成功的话,执行完成立的代码,还会无条件执行后面的代码。
Break可以用来退出while 和 do while
以上是关于C++中throw是跳出整个循环还是整个函数的主要内容,如果未能解决你的问题,请参考以下文章