2009-07-02 2 views

ответ

0

@ Jørn прав, но какие ошибки вы предсказываете, чтобы появиться на ваш взгляд?

Если вы указали некоторые детали, почему вы думаете об этом, мы можем предложить несколько лучших альтернатив вместо того, чтобы просто сказать «не делайте этого».

2

Вам не нужно обрабатывать сообщения об ошибках в действиях MVC, а поведение ошибки жесткого кодирования затрудняет поиск проблем с исправлением, чем это необходимо.

Вместо этого используйте HandleError attribute и бросить регулярное исключение:

[HandleError] 
public class ThingController : Controller 
{ 
    public ActionResult DoStuff() 
    { 
     ... 

     // uh-oh! throw exception 
     throw new WhateverException("message"); 
    } 
} 

Это позволит вам использовать флаг в customErrors конфигурации, чтобы изменить поведение вашего приложения:

<customErrors mode="RemoteOnly" defaultRedirect="~/System/Error" /> 

Тогда локально вы получите уродливый, но подробный желтый экран смерти, плюс отладка по умолчанию будет разбита на исключение броска.

Удаленные пользователи будут перенаправлены на ваш SystemController.Error, где вы можете иметь приятное удобное для пользователя сообщение и зарегистрировать ошибку.

Это будет работать так же, как и действия контроллера.

Смежные вопросы