Я хочу обрабатывать исключения, генерируемые любым действием контроллера, с моделью ErrorView и представлением ошибок. Идея заключалась в том, чтобы иметь что-то вроде:
[InformClientOfExceptions(typeof(MyErrorHandler))]
public ActionResult MyAction(Int32 someId)
{
//...code
}
Тогда, возможно, есть некоторый класс MyErrorHandler, который реализует новый интерфейс IErrorView:
public class MyErrorHander : IErrorView
{
public ActionResult OnException(Exception ex)
{
//..code which converts exception to some error view model and returns the view
Когда в результате действия выдается исключение, атрибут подготавливает указанный класс и передает ему исключение, а затем обрабатывается исключение (в базовом случае форматируется и выводится) Да, исключения никогда не должны возникать или, по крайней мере, должны обрабатываться должным образом, но я бы хотел лучше написать это. Я не хочу использовать пользовательскую страницу ошибок, поскольку хочу расширить этот шаблон, чтобы учесть более сложные ответы на определенные типы исключений. Есть идеи, как лучше к этому подойти?