pub struct Trap { /* private fields */ }
Expand description
A struct representing an aborted instruction execution, with a message indicating the cause.
Implementations
sourceimpl Trap
impl Trap
sourcepub fn new<I: Into<String>>(message: I) -> Self
pub fn new<I: Into<String>>(message: I) -> Self
Creates a new Trap
with message
.
Example
let trap = wasmtime::Trap::new("unexpected error");
assert!(trap.to_string().contains("unexpected error"));
sourcepub fn i32_exit(status: i32) -> Self
pub fn i32_exit(status: i32) -> Self
Creates a new Trap
representing an explicit program exit with a classic i32
exit status value.
sourcepub fn i32_exit_status(&self) -> Option<i32>
pub fn i32_exit_status(&self) -> Option<i32>
If the trap was the result of an explicit program exit with a classic
i32
exit status value, return the value, otherwise return None
.
sourcepub fn display_reason<'a>(&'a self) -> impl Display + 'a
pub fn display_reason<'a>(&'a self) -> impl Display + 'a
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.
sourcepub fn trace(&self) -> Option<&[FrameInfo]>
pub fn trace(&self) -> Option<&[FrameInfo]>
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.
Trait Implementations
sourceimpl Error for Trap
impl Error for Trap
sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations
impl !RefUnwindSafe for Trap
impl Send for Trap
impl Sync for Trap
impl Unpin for Trap
impl !UnwindSafe for Trap
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more