Это скорее вопрос программирования общего назначения, чем конкретный язык. Я видел несколько оценок, чтобы попытаться поймать.
Во-первых, вы выполняете любую предварительную обработку необходимых данных, вызываете функцию с соответствующими аргументами и переносите ее в блок try/catch.
Другой - просто вызвать функцию, передающую данные, и полагаться на попытки уловов внутри функции, при этом функция возвращает флаг true/false, если произошли ошибки.
Третий - это комбинация с попыткой улова вне функции и внутри. Однако, если функции пытаются поймать ловит что-то, он выдает еще одно исключение для блока catch try вне функции, чтобы поймать.
Любые мысли о плюсах и минусах этих методов для контроля ошибок или если есть принятый стандарт? Мои навыки ниндзя в поисковых системах не помогли мне найти точные данные об этом.