2010-06-28 2 views
2

В Visual Studio есть параметр отладчика с надписью «Break on exceptions» или что-то в этом роде. Он падает в отладчик всякий раз, когда возникает исключение (то есть, на первом проходе механики исключений с двумя проходами), независимо от того, будет ли обработано исключение или нет.SharpDevelop эквивалент «Исключить исключения Visual Studio»

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

Я не могу найти эквивалентную настройку в SharpDevelop. Любая идея, есть ли это, а если нет, почему бы и нет?

+0

Если вы используете .NET, то ваша цель ** никогда не иметь каких-либо исключений, сгенерированных ** не представляется возможным. Microsoft выбрала использование обработки исключений в качестве метода управления потоком кода. VS позволяет установить «break on the throw exception» на основе класса Exception. SD v4 имеет только опцию паузы для исключений ALL, а не только те, которые вам нужны. Тем не менее, это лучше, чем ничего. :) –

ответ

3

В SD v4 они добавили «Пауза в обработанном исключении», флажок в диалоговом окне «Инструменты/Параметры» в разделе «Отладка/Общие».

SD v4 - Tools/Options/Debugging

Это поможет вам достичь вашей цели не имеет исключений поднятый. (до тех пор, как .NET не решили использовать обработку исключений в виде кодового управления потоком.)

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

SD v5 - Tools/Options/Debugging

И тогда вы можете ввести имя класса конкретного Exception вы заинтересованы в ловле. В любое время вы можете вернуться и снять флажок, если вы больше не заинтересованы в этом типе исключения.

enter image description here

2

Хм. Я предполагаю, что нет:

http://bugtracker.sharpdevelop.net/issue/ViewIssue.aspx?id=1511&PROJID=4

Тем не менее, мне интересно, если есть хорошая причина, что это не там. Трудно ли реализовать?

Эта функция была добавлена ​​в SharpDevelop 4.0. См. Jesse's answer.

+0

Совсем нет. Ну, по крайней мере, не используя mdbg в качестве бэкэнд. – leppie

+0

@DrewNoakes - К сожалению, ссылка теперь просто приведет вас к вершине «Проблемы». Они должны были реорганизовать БД. Вы можете найти новую ссылку? Решена ли проблема за последние 5 лет? –

+0

@DrewNoakes - я вижу, что в SD v4 есть 'Tools/Options/Debugging/Pause on handled Exception', который является разрешением потерянного отчета об ошибке. –

Смежные вопросы