FYI: https://actix.rs/docs/errors/
If a handler returns an Error (referring to the general Rust trait std::error::Error) in a Result that also implements the ResponseError trait, actix-web will render that error as an HTTP response with its corresponding actix_web::http::StatusCode.
とあるとおり、handler が返す Error に ResponseError trait の構成要素である error_response と status_code を実装しておけば、actix-web はそれをカスタムエラーとして扱ってくれる。