GDI + не исключение, большой красный X

2

Я делаю рендеринг с графическим объектом в ящике изображений внутри события Paint для этого окна.

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

Все работает отлично, но внезапно изображение становится белым и отображает большой красный X. Если я смотрю в выходном окне, я вижу, что там есть исключение, часто это исключение OverflowException или NullPointerException.

Есть ли способ найти, откуда это исключение? Отладчик не разбивается, как и везде, когда вы получаете исключение.

Теги:
visual-studio
gdi+

2 ответа

11
Лучший ответ

Вы можете сказать отладчику в визуальной студии о том, чтобы разбить все исключения или какие исключения прерываться, даже если они обрабатываются пользователем.

EDIT: в меню это Debug → Exceptions... → установите флажок "Брошенный".

  • 0
    Спасибо, этот вариант действительно должен быть по умолчанию для каждого исключения.
  • 2
    Нет, если вы ожидаете обработать исключение. Например, недавно я сделал автоматический анализ PDF-файлов с использованием PDFBox. PDFBox выдает исключение, если встречает защищенный паролем PDF, который не может открыть. Я не хочу, чтобы отладчик останавливался каждый раз, когда сталкивался с этой ошибкой, поэтому он находится в блоке try / catch, который регистрирует и продолжает свою работу. Я не хотел бы, чтобы отладчик игнорировал ловушку и разрыв.
0

Это не делает GDI+. Это дизайнер, который не справляется с ошибкой Visual Studio. Это ошибка, которая возникает только во время разработки? Что делать, если вы попытаетесь воспроизвести его во время выполнения?

  • 0
    Это во время выполнения я получаю ошибку.
  • 0
    А ну понятно. Я только сталкивался с этим в дизайнере.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню