Error code library provides generic errno/winapi error wrapper
User can define own Category
if you want to create new error wrapper.
use error_code::ErrorCode;
use std::fs::File;
File::open("non_existing");
println!("{}", ErrorCode::last_system());