pub enum TetraError {
    FailedToLoadAsset {
        reason: Error,
        path: PathBuf,
    NotEnoughData {
        expected: usize,
        actual: usize,
Expand description

The types of error that can occur in a Tetra game.

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.


Returned when the underlying platform returns an unexpected error. This usually isn’t something your game can reasonably be expected to recover from.



reason: Error

The underlying reason for the error.

path: PathBuf

The path to the asset that failed to load.

Returned when your game fails to load an asset. This is usually caused by an incorrect file path, or some form of permission issues.


Returned when a color is invalid.


Returned when a texture’s data is invalid.


Returned when a shader fails to compile.


Returned when a font could not be read.


Returned when a sound cannot be decoded.



expected: usize

The number of bytes that were expected.

actual: usize

The number of bytes that were provided.

Returned when not enough data is provided to fill a buffer. This may happen if you’re creating a texture from raw data and you don’t provide enough data.


Returned when trying to play back audio without an available device.


Returned when your game tried to change the display settings (e.g. fullscreen, vsync) but was unable to do so.


Returned when a shape cannot be tessellated.

Trait Implementations

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.