Ну, попробуйте / поймать само по себе на самом деле мало что делает, и было бы определенно плохой практикой представлять диалог пользовательского интерфейса со своего уровня DAL / DB / repo. Я бы:
- в DAL перехватывает ожидаемое исключение SQL и генерирует документированное исключение, которое пользовательский интерфейс может ожидать
- в слое пользовательского интерфейса , поймайте исключение, которое вы бросили, и представьте пользователю подходящий диалог
Конечно, ваш пользовательский интерфейс должен ожидать любого исключения в этом сценарии; просто это может поставить более дружелюбное лицо в ожидаемое (предсказуемое) исключение - и быть более осторожным в случае чего-то, чего не ожидал.
Еще лучшим ответом будет: проверьте ваш сценарий заранее, чтобы вы не ожидали исключение вообще - тогда любое исключение именно таково: исключительное.
В общем, хотя: никогда не бойтесь спрашивать интервью, что они имели в виду; После этого вы сможете обсудить достоинства (а не) каждого подхода. Кроме того, никогда не предполагайте, что интервьюер знает все. У меня было бы абсолютно никаких сомнений, говорящих интервьюеру (хорошо, ум), что они ошибаются в техническом вопросе. Это может быть подлым, но интервьюер может на самом деле искать кого-то, кто не боится говорить, когда кто-то делает техническую ошибку, и поэтому вводит тонкую тарабарщину в технические дискуссии.