停止在 C# 中冒泡异常
本文关键字:异常 | 更新日期: 2023-09-27 18:32:15
我的代码是这样的
private void GetShippingInstruction()
{
try
{
string json = JsonConvert.SerializeObject(ds, Formatting.Indented);
ShowResult(json);
}
catch (Exception ex)
{
//custom logic
}
}
private void ShowResult(string json )
{
try
{
Response.Write(json);
Response.End();
}
catch
{
return;
// do nothing for now
}
}
如果 ShowResult 函数内发生任何错误,我想忽略该错误并继续。我已经尝试了一些事情,例如在捕获块中添加return
。但它对我没有帮助,在执行 ShorResult()
的 catch 块后,它直接进入 GetShippingInstruction
的 Catch 块,我不想要。有什么办法解决这个问题吗?
示例代码:https://dotnetfiddle.net/Jbse21
我得到的错误是:{Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.}
当你调用 Response.Write 时 - 你打开你的响应 .. 当你在写作时发生错误时,你可能需要关闭它.. 请尝试以下操作:
private void ShowResult(string json)
{
try
{
if (string.IsNullOrEmpty(json)) return; // no need to get an exception for that
Response.Write(json);
}
catch
{
}
finally
{
Response.End();
}
}
是否有
可能在 GetShippingInstruction 的第一行抛出异常?
string json = JsonConvert.SerializeObject(ds, Formatting.Indented);
如果是这样,它将执行 GetShippingInstruction catch 块。