From 94e89466e6ed14a61665e97704a5a04c4a8e14fd Mon Sep 17 00:00:00 2001 From: K Shiva Kiran <shiva_kr@riseup.net> Date: Mon, 18 Mar 2024 21:38:22 +0530 Subject: [PATCH] Impl display for error --- src/errors.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/errors.rs b/src/errors.rs index a62059d..99a9dd7 100644 --- a/src/errors.rs +++ b/src/errors.rs @@ -1,6 +1,23 @@ +use std::fmt; + #[derive(Debug)] pub enum FBError { DecodeError, InvalidKey, InvalidParams, } + +impl fmt::Display for FBError { + + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let message = match self { + FBError::DecodeError => "Invalid input", + FBError::InvalidKey => "Invalid Key used", + FBError::InvalidParams => "Keybase len(k) or Cipher len(n) out of bounds. Valid bounds: (2 <= k <= n)", + }; + + f.write_fmt(format_args!("{message}")) + } +} + +impl std::error::Error for FBError {}