CronError

Enum CronError 

Source
pub enum CronError {
    ParseError(Error),
    Unknown,
}
Expand description

Re-export of the cron error type.

All fallible operations in this crate return a Result<T, CronError>. Errors that can occur when using CronTab.

This enum represents all possible errors that can occur during cron job scheduling operations.

§Examples

use cron_tab::{Cron, CronError};
use chrono::Utc;

let mut cron = Cron::new(Utc);
 
// This will result in a ParseError due to invalid cron expression
match cron.add_fn("invalid expression", || println!("Hello")) {
    Ok(job_id) => println!("Job added with ID: {}", job_id),
    Err(CronError::ParseError(e)) => println!("Invalid cron expression: {}", e),
    Err(CronError::Unknown) => println!("An unknown error occurred"),
}

Variants§

§

ParseError(Error)

Error that occurs when a cron expression cannot be parsed.

This is the most common error and occurs when an invalid cron expression is provided to add_fn or add_fn.

§Common Causes

  • Invalid field values (e.g., hour > 23, minute > 59)
  • Incorrect number of fields (should be 7: sec min hour day month weekday year)
  • Invalid special characters or syntax
  • Malformed range expressions

§Examples

use cron_tab::{Cron, CronError};
use chrono::Utc;

let mut cron = Cron::new(Utc);
 
// These will all result in ParseError:
 
// Too few fields
assert!(matches!(
    cron.add_fn("* * *", || {}),
    Err(CronError::ParseError(_))
));
 
// Invalid hour (25 > 23)
assert!(matches!(
    cron.add_fn("0 0 25 * * * *", || {}),
    Err(CronError::ParseError(_))
));
 
// Invalid syntax
assert!(matches!(
    cron.add_fn("not-a-cron-expression", || {}),
    Err(CronError::ParseError(_))
));
§

Unknown

A catch-all error for unexpected conditions.

This error type is reserved for future use and should rarely occur in normal operation. If you encounter this error, it may indicate a bug in the library or an unexpected system condition.

§When This Occurs

Currently, this error is not actively used by the library but is included for forward compatibility and unexpected error conditions.

Trait Implementations§

Source§

impl Debug for CronError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for CronError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for CronError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for CronError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.