Сами операторы Try / Catch не оказывают существенного влияния на производительность, но могут генерировать и перехватывать множество исключений.
В общем, вы хотите убедиться, что вы перехватываете только соответствующие исключения - в противном случае вы можете маскировать ошибку в вашем приложении.В этом случае DataException или UpdateException , вероятно, являются хорошими кандидатами, поскольку они являются исключениями, которые будут выброшены, если что-то пойдет не так в SaveChanges.
Похоже, выперехватить исключение, чтобы добавить к нему собственную дополнительную информацию.В этом случае всегда лучше сохранить исходное исключение как внутреннее исключение.
throw new Exception("Problems adding object" + e, e);
Я бы также посоветовал создать для этого собственный тип исключения, специфичный для приложения.