PostSharp OnException на mscorlib(игнорировать исключение) - в чем опасность?

Я думал, можно ли сделать приложение без исключений (не совсем, но с минимальным исключением)

Допустим, я применяю свой аспект с помощью метода OnException ко всему внутри mscorlib(звучит как плохая идея).

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

Что я спрашиваю, хотя это звучит хорошо на бумаге, с какими проблемами я мог бы столкнуться в будущем, которые могли бы обречь эту концепцию?

1 ответ

С точки зрения PostSharp этот вариант использования не поддерживается, т.е. мы не проводим регулярные тесты с аспектами, нацеленными на все в mscorlib. Это означает, что мы не можем гарантировать, что все будет работать так, как вы ожидаете. Например, некоторые исключения могут быть не обнаружены, и вы узнаете об этом позже в производственной среде.

Кроме того, применяя этот аспект таким образом, вы получите множество блоков try-catch в каждом методе, охватывающих каждый вызов mscorlib. Это просто менее оптимально, чем использование одного или нескольких блоков catch для каждого метода.

В целом, этот подход выглядит подозрительно и не представляет обычной цели использования PostSharp в проекте. Было бы лучше применить аспект исключения к вашим собственным методам вместо mscorlib.

Другие вопросы по тегам