Две причины, по которым я могу придумать:
Во-первых, может быть, параметр, выдавший исключение, представлял собой значение, которое было обработанной формой того, которое было передано в открытый интерфейс.Значение может не иметь смысла без затрат на перехват для повторного выброса другого исключения, которое в любом случае будет одинаковым в большинстве случаев.
Во-вторых, и что более важно, это то, что действительно может быть риск для безопасности,об этом трудно догадаться (если я пишу контейнер общего назначения, я не знаю, в каких контекстах он будет использоваться).Мы не хотим, чтобы «Кредитная карта: 5555444455554444» появлялась в сообщении об ошибке, если мы можем помочь.
В конечном счете, только то, какая отладочная информация является наиболее полезной, будет зависеть от ошибки в любом случае.Если тип, метод и (когда это возможно) номер файла и строки не достаточно, пришло время написать некоторый отладочный код, который перехватывает именно то, что вы действительно хотите знать, вместо того, чтобы жаловаться, что он еще не перехвачен, когда вы в следующий разможет потребоваться другая информация (состояние полей экземпляров может быть столь же полезным, как и параметры).