Это определенно вопрос обработки исключений. Во-первых, есть один список классификаций и один набор хороших рекомендаций . Эти двое помогли мне, и я считаю их «обязательным к прочтению» по теме c.
Многие вещи, которые вы там делаете, выглядят довольно критично. Вы ловите слишком широкий. Затем выполните фильтрацию по типу, используя is. Но вы никогда не выбрасываете неправильные исключения.
Кажется, ваше основное беспокойство вызывает код, вызывающий ваш код, имеющий дело с SqlException
, поскольку добавление ссылки по какой-то причине неприменимо. Обычно решение состоит в том, чтобы создать свой собственный класс исключения и поместить класс Sql во внутреннее исключение. В приведенных выше рекомендациях есть все подробности, которые я мог бы вам дать по этому поводу.