GDI +不会抛出异常,大红色X.

2 .net c# gdi+ visual-studio

我正在该图片框的Paint-event内的图片框中使用Graphics-object渲染东西.

    void pictureBox1_Paint(object sender, PaintEventArgs e)
    {
        Graphics g = e.Graphics;
        g.FillEllipse(color, x, ...);
        etc etc......
    }
Run Code Online (Sandbox Code Playgroud)

一切正常但突然,图片框变成白色并显示一个大的红色X.如果我查看输出窗口,我可以看到那里有一个异常,通常是OverflowException或NullPointerException.

有没有办法找到异常来自哪里?当你遇到异常时,调试器不会像其它地方一样破坏.

McA*_*den 11

您可以告诉visual studio中的调试器打破所有异常,或者即使用户处理它们也要打破哪些异常.

编辑:在菜单中它是Debug - > Exceptions ... - >选中"Thrown"框.

  • 如果您希望处理异常,则不会.例如,我最近使用PDFBox自动解析PDF.如果PDFBox遇到受密码保护的pdf无法打开,则会引发异常.我不希望调试器在每次遇到此错误时都停止,因此它位于try/catch块中,该块记录并继续关于它的业务.我不希望调试器忽略catch和break. (2认同)