It absolutely is possible to create our own errors by impleminting the Error trait in #rust by hand. While Thiserror can make things a bit easier it isn't necessary. In this video I'll show you how you can make your errors and at the least understand a bit more how errors work in Rust code.
Links
Error trait: https://doc.rust-lang.org/std/error/t...
thiserror crate: https://crates.io/crates/thiserror