pub fn try<T, E>(value: Result<T, E>, error_message: &str) -> T {
value.unwrap_or_else(|_| {
eprintln!("{}", error_message);
std::process::exit(1);
})
}
pub fn try_opt<T>(value: Option<T>, error_message: &str) -> T {
value.unwrap_or_else(|| {
eprintln!("{}", error_message);
std::process::exit(1);
})
}