В коде паршу SocketAddrV4 из String и хочу с случае ошибки парсинга вернуть ошибку из функции
pub fn build_server_config(&self) -> Result<Config, ConfigError> {
let socket_addr_v4 = self.socket_addr.parse::<SocketAddrV4>();
if let Err(error) = socket_addr_v4 {
return Err(ConfigError::WrongSocketAddr(error));
}
let socket_addr_v4 = socket_addr_v4.unwrap();
}
pub enum ConfigError {
WrongSocketAddr(AddrParseError)
}
Есть ли способ делать это более компактно? Вероятно я хочу видеть что-то в функциональном виде, например с помощью замыканий это делать, но я не нашёл подходящих методов у Result.