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.