Отладчик прекратит работу, как только возникнет исключение, прежде чем будет выполнен какой-либо другой код. Это включает в себя любой код обработки исключений, который вы могли вставить, например, блок Try...Catch.
Если у вас есть фрагмент кода, вызывающий множество исключений, и вы не хотите выполнять его каждый раз при отладке, у вас есть два варианта: ядерный и хирургический.
Ядерный вариант состоит в том, чтобы сообщить отладчику, чтобы он вообще НЕ ломал какие-либо исключения, что имеет неприятный побочный эффект применения ко всему вашему проекту, а не к его небольшой части, для которой вы делаете исключение.
Хирургический вариант — использовать директивы прагмы, чтобы включать и выключать прерывание исключений вокруг проблемных ситуаций. код:
#Pragma BreakOnExceptions Off
try
Listbox1.RemoveRow Listbox1.ListIndex
catch err As OutOfBoundsException
MsgBox "Derp"
End
#Pragma BreakOnExceptions On
Это намного предпочтительнее, чем просто полностью отключить часть отладчика. Примечание. Директива BreakOnExepctions вернется к вашей глобальной настройке (вкл. или выкл.), как только функция вернется и станет локальной для окружающего ее кода.
person
Andrew Lambert
schedule
20.04.2011