gpt4 book ai didi

.net - 是否可以忽略 Visual Studio 中某些行的某些异常?

转载 作者:行者123 更新时间:2023-12-02 15:09:45 25 4
gpt4 key购买 nike

我正在处理一个相当大的遗留代码库。因为它并不总是得到最好的维护,有时会从控制流中使用异常,或者出于各种其他原因。有时它几乎是不可避免的例如,除了将其作为图像传递并查看它是否不会抛出异常之外,您还如何检查文件是否是有效的 .ico 图像?

我会尽可能地重构这类东西,但很多时候重构成本太高而收效甚微。这些伪造的异常在调试时变得非常烦人。我们捕获所有异常以避免程序崩溃,并捕获大多数异常并显示一些对用户更友好的内容。因此,在调试时,如果某段代码抛出 ApplicationException,那么在我们最终找到实际的错误之前,可能会抛出 50 个该类型的异常。大多数时候,这些虚假异常都集中在代码的单个部分(很多时候是单行)。有什么方法可以让 Visual Studio 忽略从该行抛出的异常,但仍然停止在实际问题的异常上?或者我还能做些什么来帮助防止这种调试挫败感?

为了说明我的问题,想象一下这样的事情:

for(int i=0; i<foo; i++)
{
try
{
FooBar(i); //this function throws NullReferenceException sometimes
}catch {} //ignore it because we don't care if it failed
}
....
var tmp=Bar as FooType; //this cast fails so tmp is null
tmp.Meh(); //throws exception here. This is a bug, we should've checked for null

如果您想找出 NullReference 在哪里,您基本上可以按住 F5,直到经过 FooBar 调用。这充其量是烦人的,而且很容易出错

最佳答案

您可以调整发生中断的异常类型。请参阅菜单中的“调试”->“异常” http://msdn.microsoft.com/en-us/library/d14azbfh(v=vs.80).aspx

关于.net - 是否可以忽略 Visual Studio 中某些行的某些异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14219486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com