我正在使用web应用程序。我使用aspx页面作为api.From函数我正在调用函数2.Both函数有try和catch块。
Function1()
{
try
{
int b = function2()
}
catch(Exception ex)
{
Response.Write(ex.Tostring());
}
}
public int Function2()
{
int a= 0;
try
{
a=8;
return a;
}
catch(Exception ex)
{
Response.Write(ex.Tostring());
return a;
}
}
如果在第二个函数中出现错误,我想跳过进一步执行(function1)。我在第二个函数的catch块中使用break。
答案 0 :(得分:4)
在Function2
catch
阻止中,不return
而是throw
例外,因此它会再次被function1
catch
阻止。< / p>
Function1()
{
try
{
int b = function2()
}
catch(Exception ex)
{
Response.Write(ex.Tostring());
}
}
public int Function2()
{
int a= 0;
try
{
a=8;
return a;
}
catch(Exception ex)
{
Response.Write(ex.Tostring());
throw; //<----- here
}
}
答案 1 :(得分:1)
根据break上的文档,你不能在第二个函数中打破在给定的例子中停止进一步执行Function1。但你可以这样做。
Function1()
{
try
{
int b = function2()
if (b = 0)
break; // Or maybe a return of an error.
}
catch(Exception ex)
{
Response.Write(ex.Tostring());
}
}