pub struct Trap { /* private fields */ }
Expand description

A struct representing an aborted instruction execution, with a message indicating the cause.

Implementations

Creates a new Trap with message.

Example
let trap = wasmtime::Trap::new("unexpected error");
assert!(trap.to_string().contains("unexpected error"));

Creates a new Trap representing an explicit program exit with a classic i32 exit status value.

If the trap was the result of an explicit program exit with a classic i32 exit status value, return the value, otherwise return None.

Displays the error reason for this trap.

In particular, it differs from this struct’s Display by only showing the reason, and not the full backtrace. This is useful to customize the way the trap is reported, for instance to display a short message for user-facing errors.

Returns a list of function frames in WebAssembly code that led to this trap happening.

This function return an Option of a list of frames to indicate that wasm frames are not always available. Frames will never be available if backtraces are disabled via Config::wasm_backtrace. Frames will also not be available for freshly-created traps. WebAssembly frames are currently only captured when the trap reaches wasm itself to get raised across a wasm boundary.

Code of a trap that happened while executing a WASM instruction. If the trap was triggered by a host export this will be None.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

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

Performs the conversion.

Performs the conversion.

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.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

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

Should always be Self

The resulting type after obtaining ownership.

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

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

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

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more