Struct wasmer_wasix::syscalls::RuntimeError
pub(crate) struct RuntimeError {
pub(crate) inner: Arc<RuntimeErrorInner>,
}
Expand description
A struct representing an aborted instruction execution, with a message indicating the cause.
Fields§
§inner: Arc<RuntimeErrorInner>
Implementations§
§impl RuntimeError
impl RuntimeError
pub fn new<I>(message: I) -> RuntimeError
pub fn new<I>(message: I) -> RuntimeError
Creates a new generic RuntimeError
with the given message
.
§Example
let trap = wasmer::RuntimeError::new("unexpected error");
assert_eq!("unexpected error", trap.message());
pub fn new_from_source(
source: Trap,
wasm_trace: Vec<FrameInfo>,
trap_code: Option<TrapCode>,
) -> RuntimeError
pub fn new_from_source( source: Trap, wasm_trace: Vec<FrameInfo>, trap_code: Option<TrapCode>, ) -> RuntimeError
Creates RuntimeError
from an error and a WasmTrace
§Example
ⓘ
let wasm_trace = vec![wasmer_types::FrameInfo::new(
"my_module".to_string(),
0,
Some("my_function".to_string()),
0.into(),
2.into()
)];
let trap = wasmer::RuntimeError::new_from_source(my_error, wasm_trace, None);
assert_eq!("unexpected error", trap.message());
pub fn user(error: Box<dyn Error + Send + Sync>) -> RuntimeError
pub fn user(error: Box<dyn Error + Send + Sync>) -> RuntimeError
Creates a custom user Error.
This error object can be passed through Wasm frames and later retrieved
using the downcast
method.
pub fn trace(&self) -> &[FrameInfo]
pub fn trace(&self) -> &[FrameInfo]
Returns a list of function frames in WebAssembly code that led to this trap happening.
pub fn downcast<T>(self) -> Result<T, RuntimeError>where
T: Error + 'static,
pub fn downcast<T>(self) -> Result<T, RuntimeError>where
T: Error + 'static,
Attempts to downcast the RuntimeError
to a concrete type.
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: Error + 'static,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: Error + 'static,
Attempts to downcast the RuntimeError
to a concrete type.
Trait Implementations§
§impl Clone for RuntimeError
impl Clone for RuntimeError
§fn clone(&self) -> RuntimeError
fn clone(&self) -> RuntimeError
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for RuntimeError
impl Debug for RuntimeError
§impl Display for RuntimeError
impl Display for RuntimeError
§impl Error for RuntimeError
impl Error for RuntimeError
§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
§impl From<MemoryAccessError> for RuntimeError
impl From<MemoryAccessError> for RuntimeError
§fn from(err: MemoryAccessError) -> RuntimeError
fn from(err: MemoryAccessError) -> RuntimeError
Converts to this type from the input type.
source§impl From<RuntimeError> for WasiRuntimeError
impl From<RuntimeError> for WasiRuntimeError
source§fn from(source: RuntimeError) -> Self
fn from(source: RuntimeError) -> Self
Converts to this type from the input type.
§impl From<Trap> for RuntimeError
impl From<Trap> for RuntimeError
§fn from(trap: Trap) -> RuntimeError
fn from(trap: Trap) -> RuntimeError
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for RuntimeError
impl !RefUnwindSafe for RuntimeError
impl Send for RuntimeError
impl Sync for RuntimeError
impl Unpin for RuntimeError
impl !UnwindSafe for RuntimeError
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Pointee for T
impl<T> Pointee for T
§impl<T> Upcastable for T
impl<T> Upcastable for T
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
§impl<T> Upcastable for T
impl<T> Upcastable for T
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref
§fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
upcast boxed dyn