Skip to main content

Error

Enum Error 

Source
#[non_exhaustive]
pub enum Error {
Show 49 variants Music21Object(String), Chord(String), Pitch(String), Microtone(String), Accidental(String), ChordTables(String), Interval(String), StepName(String), PitchClass(String), Ordinal(String), Polyrhythm(String), TuningSystem(String), Midi(Box<FormatError>), Analysis(String), Meter(String), Sieve(String), Metadata(String), Duration(String), Key(String), Scale(String), Tempo(String), Instrument(String), FiguredBass(String), Abc(Box<FormatError>), Humdrum(Box<FormatError>), Xml(Box<FormatError>), Mei(Box<FormatError>), RomanText(Box<FormatError>), Capella(Box<FormatError>), MuseData(Box<FormatError>), Noteworthy(Box<FormatError>), MuseScore(Box<FormatError>), Expression(String), Clef(String), Serial(String), Notation(String), Volume(String), Stream(String), Feature(String), Text(String), Search(String), Tablature(String), Tree(String), Omr(String), Variant(String), MusicXml(Box<FormatError>), Value(String), Placed(Box<PlacedError>), Environment(String),
}
Expand description

Error variants produced by the crate’s theory helpers.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Music21Object(String)

Error associated with a generic music21-style object.

§

Chord(String)

Error associated with chord construction or analysis.

§

Pitch(String)

Error associated with pitch construction, spelling or conversion.

§

Microtone(String)

Error associated with microtone construction or conversion.

§

Accidental(String)

Error associated with accidental parsing or conversion.

§

ChordTables(String)

Error associated with generated chord-table lookup data.

§

Interval(String)

Error associated with interval construction or conversion.

§

StepName(String)

Error associated with step-name parsing or conversion.

§

PitchClass(String)

Error associated with numeric pitch-class parsing.

§

Ordinal(String)

Error associated with ordinal-name parsing.

§

Polyrhythm(String)

Error associated with polyrhythm construction or timing.

§

TuningSystem(String)

Error associated with tuning-system parsing or lookup.

§

Midi(Box<FormatError>)

Error associated with MIDI import or export, or a MIDI value out of range.

§

Analysis(String)

Error associated with analysis helpers.

§

Meter(String)

Error associated with time-signature parsing or beat lookup.

§

Sieve(String)

Error associated with Xenakis sieve parsing or evaluation.

§

Metadata(String)

Error associated with a score’s metadata: a date relevance none of music21’s date classes takes, or a name that is not a metadata name.

§

Duration(String)

Error associated with duration values.

§

Key(String)

Error associated with keys and key signatures.

§

Scale(String)

Error associated with scale degrees and realization.

§

Tempo(String)

Error associated with tempo marks.

§

Instrument(String)

Error associated with instruments and the names scores give them.

§

FiguredBass(String)

Error associated with figured bass and its realization.

§

Abc(Box<FormatError>)

ABC text that cannot be read.

§

Humdrum(Box<FormatError>)

Humdrum that cannot be read.

§

Xml(Box<FormatError>)

A document that is not well-formed XML.

§

Mei(Box<FormatError>)

MEI that cannot be read.

§

RomanText(Box<FormatError>)

RomanText that cannot be read.

§

Capella(Box<FormatError>)

Capella’s CapXML that cannot be read.

§

MuseData(Box<FormatError>)

MuseData that cannot be read.

§

Noteworthy(Box<FormatError>)

NoteWorthy Composer text that cannot be read.

§

MuseScore(Box<FormatError>)

A MuseScore file that cannot be read, or MuseScore itself could not be run or could not convert a file.

§

Expression(String)

Error associated with ornaments and other expressions.

§

Clef(String)

Error associated with clefs.

§

Serial(String)

Error associated with tone rows and serial transformations.

§

Notation(String)

Error associated with ties, noteheads, stems and lyrics.

§

Volume(String)

Error associated with note volumes.

§

Stream(String)

A stream that cannot be changed as asked: music21’s StreamException.

§

Feature(String)

A feature that cannot be read out of a piece, or a normalized feature whose values are all nought: music21’s FeatureException.

§

Text(String)

Text that cannot be worked on as asked: an article looked for in a language music21 knows none of.

§

Search(String)

A search that cannot be made as asked: music21’s SearchException and LyricSearcherException.

§

Tablature(String)

A fretboard that cannot say what it sounds: one not tuned a pitch a string, or a note on a string it has not got.

§

Tree(String)

A timespan tree that cannot answer as asked: music21’s TreeException.

§

Omr(String)

A score the OMR correctors cannot work on: parts of different lengths, where music21 runs out of measures in one of them, or a measure with no time signature in force.

§

Variant(String)

Variants that cannot be merged, placed or made real as asked: music21’s VariantException, and the errors music21 meets on the way.

§

MusicXml(Box<FormatError>)

Available on crate feature musicxml only.

A MusicXML document that cannot be read, or a score that cannot be written as one.

§

Value(String)

A value the caller gave that nothing musical could be read from.

music21 keeps this apart from its own exceptions — an octave written before a pitch name, or a name that is not a string at all, is a ValueError there and not a PitchException — and callers catch the two separately, so the crate keeps them apart too.

§

Placed(Box<PlacedError>)

Another error, placed where a reader met it: a pitch an ABC note cannot spell, at the tune’s line and measure. It reads as the error itself; Error::unplaced hands that error back to match on.

§

Environment(String)

A preference that cannot be set or read as asked, or a settings file that cannot be read: music21’s EnvironmentException.

Implementations§

Source§

impl Error

Source

pub fn unplaced(&self) -> &Error

The error itself, without the place a reader gave it: what to match on to ask which kind of error it is.

Source

pub fn format_error(&self) -> Option<&FormatError>

The document error this is, where it is a format’s: which kind of trouble, where, and the reader’s words.

Source

pub fn position(&self) -> Option<&Position>

Where in its document the error was met, where the reader knows.

Trait Implementations§

Source§

impl Clone for Error

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Error

Source§

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

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

impl Display for Error

Source§

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

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

impl Eq for Error

Source§

impl Error for Error

1.30.0 · 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<!> for Error

Source§

fn from(value: Infallible) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Error

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Error

Auto Trait Implementations§

§

impl Forget for Error

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnsafeUnpin for Error

§

impl UnwindSafe for Error

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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 = !

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

fn try_from(value: U) -> Result<T, !>

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.