Сделать asp.net страница ошибки указывает на самое внешнее исключение

#c# #asp.net #.net-4.6

#c# #asp.net #.net-4.6

Вопрос:

Это мой asp.net страница.

 protected void Page_Load(object sender, EventArgs e)
{
    try
    {
        throw new Exception("hello");
    }
    catch (Exception ex)
    {
        throw new Exception("world", ex);
    }

}
  

Когда я его запускаю, asp.net на странице ошибки указано, что из строки 14 выдается ошибка с сообщением об ошибке «привет». Вместо этого я ожидаю увидеть сообщение об ошибке «world».

the asp.net на странице ошибки указано, что из строки 14 выдается ошибка с сообщением об ошибке quot;приветquot;

Я помню, что в прошлом на странице ошибки говорилось, что ошибка от throw new Exception("world", ex); . Может быть, это изменилось в Visual Studio 2015?

Я неправильно помню? Есть ли возможность разрешить странице ошибки указывать на самое внешнее исключение?

Комментарии:

1. я не думаю, что есть вариант — чего вы надеетесь достичь? какова ваша конечная цель?

2. @DanielA. Белый Я хочу подтвердить, было ли поведение таким же в предыдущих версиях .NET / Visual Studio, и, если возможно, увидеть «world» в качестве сообщения об ошибке.

3. Вы можете допустить ошибку, подобную 5/0, и тогда вы поймаете ошибку, потому что исключение throw не является ошибкой.

4. Если бы это было так, это была бы ошибка. Try пытается запустить блок, если это невозможно, он запускает catch. В вашем коде оно выдает новое исключение «hello», но с выдачей исключения проблем нет, поэтому «world» недоступен

5. Возможно, вы это уже знаете, но если вы не включите параметр ex в конструктор исключений, то получите желаемый результат.