в ней используются два внешних метода env::var(..) -> Result<String, VarError> и PgConnection::establish(...) -> Result<Self, ConnectionError>. В случае ошибки в одном из этих двух методов нужно вернуть ошибку. Какой должен быть тип возвращаемго значения у функции чтобы можно было вернуть два разных типа ошибок?
Если это в библиотеке, то сделать новый тип ошибки через thiserror, в приложении можно взять anyhow::Error
А есть пример реализации?
https://doc.rust-lang.org/stable/rust-by-example/error/multiple_error_types.html
Обсуждают сегодня