Выдача исключения с внутренним SecurityException отображает только внутреннее исключение в ASP.NET MVC

Если я добавлю следующую строку к методу действия ASP.NET MVC

throw new Exception("outer", new SecurityException("inner"));

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

SecurityException

Описание: приложение пыталось выполнить операцию, не разрешено политикой безопасности. Чтобы удовлетворить эту заявку требуется разрешение, обратитесь к системному администратору или измените уровень доверия приложения в файле конфигурации.

Сведения об исключении: System.Security.SecurityException: inner

Ошибка источника:

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

Трассировка стека:

[SecurityException: inner]

Это ожидаемое поведение?

Кажется, не имеет значения, к какому типу относится внешнее исключение. Даже если это другое исключение SecurityException, сообщение никогда не отображается. Сообщение об ошибке SecurityException по умолчанию настолько расплывчато, что я хочу поймать его и добавить более конкретную информацию. Это нормально работает, если я не включаю исходное SecurityException в качестве innerException, но в идеале я бы хотел это сделать.

6
задан Paul Hiles 16 February 2012 в 11:16
поделиться