Это может быть один из случаев, когда нежелательно работать.Уже упомянутая схема заимствования является лишь инкапсуляцией беспристрастной версии обработки ошибок, но она не имеет ничего общего с функциональным программированием, а также не заботится об обработке ошибок.
Если вы действительно хотите, чтобы она работала, вы могли бысделайте это с монадой обработки ошибок .По веским причинам я предоставляю ссылку на конкретную документацию на Haskell, поскольку Scala не очень хорошо поддерживает подобную «хардкорную» функциональную практику.
Я бы порекомендовал вам пойти по пути и использовать try catchнаконец ... вы также можете расширить схему заимствования с помощью обработки ошибок, но это означает, что вам нужно либо написать специальные функции, если вы хотите обрабатывать ошибки по-разному в некоторых ситуациях, либо вам пришлось бы передать частичную функцию для обработки ошибок (чтоничего кроме того, что вы уже получили внутри блока catch в вашем коде).