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循环:

语法forabc{

循环体

}

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循环至少执行一次。

局部变量:函数里面的是局部变量

Switchexp{

Case 1

代码段;

Break

Case 2

代码段;

Break

Case 3

代码段;

Break

Default

代码段;

Break

}

exp:变量

严格类型比较(===)如果没有break退出,执行判断某个条件成功的话,执行完成立的代码,还会无条件执行后面的代码。

Break可以用来退出while do while

以上是关于C++中throw是跳出整个循环还是整个函数的主要内容,如果未能解决你的问题,请参考以下文章

break是终止本次循环还是结束循环

js中如何跳出循环

如何跳出当前jquery.each()函数循环

js 跳出循环

java里面的一个break是跳出一层for循环,还是可以跳出几层

python中函数嵌套循环语句时,return 如何正确使用返回值