Если вы запустите пример кода, вы увидите, что строка, сообщаемая в трассировке стека, на самом деле является строкой, в которой выдается исключение, а не строкой вызова метода. Отладчик VS также останавливается на этой строке, а не на вызове метода.
Обновление: зеленая ошибка слева от вашего снимка экрана указывает, что вы не на вершине стека вызовов. Откройте окно Call Stack (например, через меню Отладка -> Windows -> CAll Stack ) и дважды щелкните первую строку, чтобы добраться до места, где фактически выдается исключение. Первый метод в стеке вызовов также будет method3()
.
Обратите внимание, что цитата Мартина Фаулера относится к отладке в целом, поэтому она может быть верной для Java IDE или других интегрированных отладчиков, но не для Visual Studio IDE. Тем не менее, вы сможете легко определить метод, вызвавший проблему, посмотрев трассировку стека исключения.