Movatterモバイル変換


[0]ホーム

URL:


Docs.rs

JsNativeError

StructJsNativeError 

Source
pub struct JsNativeError {    pub kind:JsNativeErrorKind,/* private fields */}
Expand description

Native representation of an idealError object from Javascript.

This representation is more space efficient than itsJsObject equivalent,since it doesn’t need to create a whole newJsObject to be instantiated.Prefer using this overJsError when you don’t need to throwplainJsValues as errors, or when you need to inspect the error typeof aJsError.

§Examples

letnative_error = JsNativeError::uri().with_message("cannot decode uri");matchnative_error.kind {    JsNativeErrorKind::Uri => {/* handle URI error*/}_=>unreachable!(),}assert_eq!(native_error.message(),"cannot decode uri");

Fields§

§kind:JsNativeErrorKind

The kind of native error (e.g.TypeError,SyntaxError, etc.)

Implementations§

Source§

implJsNativeError

Source

pub constAGGREGATE: Self

DefaultAggregateError kindJsNativeError.

Source

pub constERROR: Self

DefaultError kindJsNativeError.

Source

pub constEVAL: Self

DefaultEvalError kindJsNativeError.

Source

pub constRANGE: Self

DefaultRangeError kindJsNativeError.

Source

pub constREFERENCE: Self

DefaultReferenceError kindJsNativeError.

Source

pub constSYNTAX: Self

DefaultSyntaxError kindJsNativeError.

Source

pub constTYP: Self

Defaulterror kindJsNativeError.

Source

pub constURI: Self

DefaultUriError kindJsNativeError.

Source

pub constNO_INSTRUCTIONS_REMAIN: Self

DefaultNoInstructionsRemain kindJsNativeError.

Source

pub constRUNTIME_LIMIT: Self

Defaulterror kindJsNativeError.

Source

pub const fnaggregate(errors:Vec<JsError>) -> Self

Creates a newJsNativeError of kindAggregateError from a list ofJsErrors, withemptymessage and undefinedcause.

§Examples
letinner_errors =vec![    JsNativeError::typ().into(),    JsNativeError::syntax().into()];leterror = JsNativeError::aggregate(inner_errors);assert!(matches!(    error.kind,    JsNativeErrorKind::Aggregate(referrors)iferrors.len() ==2));
Source

pub const fnis_aggregate(&self) ->bool

Source

pub const fnerror() -> Self

Creates a newJsNativeError of kindError, with emptymessage and undefinedcause.

§Examples
leterror = JsNativeError::error();assert!(matches!(error.kind, JsNativeErrorKind::Error));
Source

pub const fnis_error(&self) ->bool

Check if it’s aJsNativeErrorKind::Error.

Source

pub const fneval() -> Self

Creates a newJsNativeError of kindEvalError, with emptymessage and undefinedcause.

§Examples
leterror = JsNativeError::eval();assert!(matches!(error.kind, JsNativeErrorKind::Eval));
Source

pub const fnis_eval(&self) ->bool

Check if it’s aJsNativeErrorKind::Eval.

Source

pub const fnrange() -> Self

Creates a newJsNativeError of kindRangeError, with emptymessage and undefinedcause.

§Examples
leterror = JsNativeError::range();assert!(matches!(error.kind, JsNativeErrorKind::Range));
Source

pub const fnis_range(&self) ->bool

Check if it’s aJsNativeErrorKind::Range.

Source

pub const fnreference() -> Self

Creates a newJsNativeError of kindReferenceError, with emptymessage and undefinedcause.

§Examples
leterror = JsNativeError::reference();assert!(matches!(error.kind, JsNativeErrorKind::Reference));
Source

pub const fnis_reference(&self) ->bool

Source

pub const fnsyntax() -> Self

Creates a newJsNativeError of kindSyntaxError, with emptymessage and undefinedcause.

§Examples
leterror = JsNativeError::syntax();assert!(matches!(error.kind, JsNativeErrorKind::Syntax));
Source

pub const fnis_syntax(&self) ->bool

Check if it’s aJsNativeErrorKind::Syntax.

Source

pub const fntyp() -> Self

Creates a newJsNativeError of kindTypeError, with emptymessage and undefinedcause.

§Examples
leterror = JsNativeError::typ();assert!(matches!(error.kind, JsNativeErrorKind::Type));
Source

pub const fnis_type(&self) ->bool

Check if it’s aJsNativeErrorKind::Type.

Source

pub const fnuri() -> Self

Creates a newJsNativeError of kindUriError, with emptymessage and undefinedcause.

§Examples
leterror = JsNativeError::uri();assert!(matches!(error.kind, JsNativeErrorKind::Uri));
Source

pub const fnis_uri(&self) ->bool

Check if it’s aJsNativeErrorKind::Uri.

Source

pub const fnno_instructions_remain() -> Self

Creates a newJsNativeError that indicates that the context hit its execution limit. Thisis only used in a fuzzing context.

Source

pub const fnis_no_instructions_remain(&self) ->bool

Source

pub const fnruntime_limit() -> Self

Creates a newJsNativeError that indicates that the context exceeded the runtime limits.

Source

pub const fnis_runtime_limit(&self) ->bool

Source

pub fnwith_message<S>(self, message: S) -> Self
where S:Into<Cow<'static,str>>,

Sets the message of this error.

§Examples
leterror = JsNativeError::range().with_message("number too large");assert_eq!(error.message(),"number too large");
Source

pub fnwith_cause<V>(self, cause: V) -> Self
where V:Into<JsError>,

Sets the cause of this error.

§Examples
letcause = JsNativeError::syntax();leterror = JsNativeError::error().with_cause(cause);assert!(error.cause().unwrap().as_native().is_some());
Source

pub fnmessage(&self) -> &str

Gets themessage of this error.

This is equivalent to theNativeError.prototype.messageproperty.

§Examples
leterror = JsNativeError::range().with_message("number too large");assert_eq!(error.message(),"number too large");
Source

pub fncause(&self) ->Option<&JsError>

Gets thecause of this error.

This is equivalent to theNativeError.prototype.causeproperty.

§Examples
letcause = JsNativeError::syntax();leterror = JsNativeError::error().with_cause(cause);assert!(error.cause().unwrap().as_native().is_some());
Source

pub fnto_opaque(&self, context: &mutContext) ->JsObject

Converts this native error to its opaque representation as aJsObject.

§Examples
letcontext =&mutContext::default();leterror = JsNativeError::error().with_message("error!");leterror_obj = error.to_opaque(context);assert!(error_obj.is::<Error>());assert_eq!(    error_obj.get(js_string!("message"), context).unwrap(),js_string!("error!").into())
§Panics

If converting aJsNativeErrorKind::RuntimeLimit to an opaque object.

Trait Implementations§

Source§

implClone forJsNativeError

Source§

fnclone(&self) ->JsNativeError

Returns a duplicate of the value.Read more
1.0.0 ·Source§

fnclone_from(&mut self, source: &Self)

Performs copy-assignment fromsource.Read more
Source§

implDebug forJsNativeError

Source§

fnfmt(&self, f: &mutFormatter<'_>) ->Result

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

implDisplay forJsNativeError

Source§

fnfmt(&self, f: &mutFormatter<'_>) ->Result

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

implError forJsNativeError

Source§

fnsource(&self) ->Option<&(dynError + 'static)>

Returns the lower-level source of this error, if any.Read more
1.0.0 ·Source§

fndescription(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 ·Source§

fncause(&self) ->Option<&dynError>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fnprovide<'a>(&'a self, request: &mutRequest<'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§

implFinalize forJsNativeError

Source§

fnfinalize(&self)

Cleanup logic for a type.
Source§

implFrom<Error> forJsNativeError

Source§

fnfrom(err:Error) -> Self

Converts to this type from the input type.
Source§

implFrom<IcuError> forJsNativeError

Source§

fnfrom(value:IcuError) -> Self

Converts to this type from the input type.
Source§

implFrom<JsNativeError> forJsError

Source§

fnfrom(error:JsNativeError) -> Self

Converts to this type from the input type.
Source§

implFrom<TemporalError> forJsNativeError

Source§

fnfrom(value:TemporalError) -> Self

Converts to this type from the input type.
Source§

implPartialEq forJsNativeError

Source§

fneq(&self, other: &JsNativeError) ->bool

Tests forself andother values to be equal, and is used by==.
1.0.0 ·Source§

fnne(&self, other:&Rhs) ->bool

Tests for!=. The default implementation is almost always sufficient,and should not be overridden without very good reason.
Source§

implTrace forJsNativeError

Source§

unsafe fntrace(&self, tracer: &mut Tracer)

Marks all containedGcs.Read more
Source§

unsafe fntrace_non_roots(&self)

Trace handles located in GC heap, and mark them as non root.Read more
Source§

fnrun_finalizer(&self)

RunsFinalize::finalize on this object and allcontained subobjects.
Source§

implEq forJsNativeError

Source§

implStructuralPartialEq forJsNativeError

Auto Trait Implementations§

§

implFreeze forJsNativeError

§

impl !RefUnwindSafe forJsNativeError

§

impl !Send forJsNativeError

§

impl !Sync forJsNativeError

§

implUnpin forJsNativeError

§

impl !UnwindSafe forJsNativeError

Blanket Implementations§

Source§

impl<T>Any for T
where T: 'static + ?Sized,

Source§

fntype_id(&self) ->TypeId

Gets theTypeId ofself.Read more
Source§

impl<T>Borrow<T> for T
where T: ?Sized,

Source§

fnborrow(&self) ->&T

Immutably borrows from an owned value.Read more
Source§

impl<T>BorrowMut<T> for T
where T: ?Sized,

Source§

fnborrow_mut(&mut self) ->&mut T

Mutably borrows from an owned value.Read more
Source§

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

Source§

unsafe fnclone_to_uninit(&self, dest:*mutu8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment fromself todest.Read more
Source§

impl<T>Conv for T

Source§

fnconv<T>(self) -> T
where Self:Into<T>,

Convertsself intoT usingInto<T>.Read more
Source§

impl<Q, K>Equivalent<K> for Q
where Q:Eq + ?Sized, K:Borrow<Q> + ?Sized,

Source§

fnequivalent(&self, key:&K) ->bool

Compare self tokey and returntrue if they are equal.
Source§

impl<Q, K>Equivalent<K> for Q
where Q:Eq + ?Sized, K:Borrow<Q> + ?Sized,

Source§

fnequivalent(&self, key:&K) ->bool

Checks if this value is equivalent to the given key.Read more
Source§

impl<T>From<T> for T

Source§

fnfrom(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U>Into<U> for T
where U:From<T>,

Source§

fninto(self) -> U

CallsU::from(self).

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

Source§

impl<T>IntoEither for T

Source§

fninto_either(self, into_left:bool) ->Either<Self, Self>

Convertsself into aLeft variant ofEither<Self, Self>ifinto_left istrue.Convertsself into aRight variant ofEither<Self, Self>otherwise.Read more
Source§

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

Convertsself into aLeft variant ofEither<Self, Self>ifinto_left(&self) returnstrue.Convertsself into aRight variant ofEither<Self, Self>otherwise.Read more
Source§

impl<T>Pipe for T
where T: ?Sized,

Source§

fnpipe<R>(self, func: implFnOnce(Self) -> R) -> R
where Self:Sized,

Pipes by value. This is generally the method you want to use.Read more
Source§

fnpipe_ref<'a, R>(&'a self, func: implFnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrowsself and passes that borrow into the pipe function.Read more
Source§

fnpipe_ref_mut<'a, R>(&'a mut self, func: implFnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrowsself and passes that borrow into the pipe function.Read more
Source§

fnpipe_borrow<'a, B, R>(&'a self, func: implFnOnce(&'a B) -> R) -> R
where Self:Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrowsself, then passesself.borrow() into the pipe function.Read more
Source§

fnpipe_borrow_mut<'a, B, R>( &'a mut self, func: implFnOnce(&'a mut B) -> R,) -> R
where Self:BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrowsself, then passesself.borrow_mut() into the pipefunction.Read more
Source§

fnpipe_as_ref<'a, U, R>(&'a self, func: implFnOnce(&'a U) -> R) -> R
where Self:AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrowsself, then passesself.as_ref() into the pipe function.
Source§

fnpipe_as_mut<'a, U, R>(&'a mut self, func: implFnOnce(&'a mut U) -> R) -> R
where Self:AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrowsself, then passesself.as_mut() into the pipefunction.
Source§

fnpipe_deref<'a, T, R>(&'a self, func: implFnOnce(&'a T) -> R) -> R
where Self:Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrowsself, then passesself.deref() into the pipe function.
Source§

fnpipe_deref_mut<'a, T, R>( &'a mut self, func: implFnOnce(&'a mut T) -> R,) -> R
where Self:DerefMut<Target = T> +Deref, T: 'a + ?Sized, R: 'a,

Mutably borrowsself, then passesself.deref_mut() into the pipefunction.
Source§

impl<T>Tap for T

Source§

fntap(self, func: implFnOnce(&Self)) -> Self

Immutable access to a value.Read more
Source§

fntap_mut(self, func: implFnOnce(&mut Self)) -> Self

Mutable access to a value.Read more
Source§

fntap_borrow<B>(self, func: implFnOnce(&B)) -> Self
where Self:Borrow<B>, B: ?Sized,

Immutable access to theBorrow<B> of a value.Read more
Source§

fntap_borrow_mut<B>(self, func: implFnOnce(&mut B)) -> Self
where Self:BorrowMut<B>, B: ?Sized,

Mutable access to theBorrowMut<B> of a value.Read more
Source§

fntap_ref<R>(self, func: implFnOnce(&R)) -> Self
where Self:AsRef<R>, R: ?Sized,

Immutable access to theAsRef<R> view of a value.Read more
Source§

fntap_ref_mut<R>(self, func: implFnOnce(&mut R)) -> Self
where Self:AsMut<R>, R: ?Sized,

Mutable access to theAsMut<R> view of a value.Read more
Source§

fntap_deref<T>(self, func: implFnOnce(&T)) -> Self
where Self:Deref<Target = T>, T: ?Sized,

Immutable access to theDeref::Target of a value.Read more
Source§

fntap_deref_mut<T>(self, func: implFnOnce(&mut T)) -> Self
where Self:DerefMut<Target = T> +Deref, T: ?Sized,

Mutable access to theDeref::Target of a value.Read more
Source§

fntap_dbg(self, func: implFnOnce(&Self)) -> Self

Calls.tap() only in debug builds, and is erased in release builds.
Source§

fntap_mut_dbg(self, func: implFnOnce(&mut Self)) -> Self

Calls.tap_mut() only in debug builds, and is erased in releasebuilds.
Source§

fntap_borrow_dbg<B>(self, func: implFnOnce(&B)) -> Self
where Self:Borrow<B>, B: ?Sized,

Calls.tap_borrow() only in debug builds, and is erased in releasebuilds.
Source§

fntap_borrow_mut_dbg<B>(self, func: implFnOnce(&mut B)) -> Self
where Self:BorrowMut<B>, B: ?Sized,

Calls.tap_borrow_mut() only in debug builds, and is erased in releasebuilds.
Source§

fntap_ref_dbg<R>(self, func: implFnOnce(&R)) -> Self
where Self:AsRef<R>, R: ?Sized,

Calls.tap_ref() only in debug builds, and is erased in releasebuilds.
Source§

fntap_ref_mut_dbg<R>(self, func: implFnOnce(&mut R)) -> Self
where Self:AsMut<R>, R: ?Sized,

Calls.tap_ref_mut() only in debug builds, and is erased in releasebuilds.
Source§

fntap_deref_dbg<T>(self, func: implFnOnce(&T)) -> Self
where Self:Deref<Target = T>, T: ?Sized,

Calls.tap_deref() only in debug builds, and is erased in releasebuilds.
Source§

fntap_deref_mut_dbg<T>(self, func: implFnOnce(&mut T)) -> Self
where Self:DerefMut<Target = T> +Deref, T: ?Sized,

Calls.tap_deref_mut() only in debug builds, and is erased in releasebuilds.
Source§

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

Source§

typeOwned = T

The resulting type after obtaining ownership.
Source§

fnto_owned(&self) -> T

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

fnclone_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§

fnto_string(&self) ->String

Converts the given value to aString.Read more
Source§

impl<T>TryConv for T

Source§

fntry_conv<T>(self) ->Result<T, Self::Error>
where Self:TryInto<T>,

Attempts to convertself intoT usingTryInto<T>.Read more
Source§

impl<T, U>TryFrom<U> for T
where U:Into<T>,

Source§

typeError =Infallible

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

fntry_from(value: U) ->Result<T, <T asTryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U>TryInto<U> for T
where U:TryFrom<T>,

Source§

typeError = <U asTryFrom<T>>::Error

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

fntry_into(self) ->Result<U, <U asTryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T>VZip<V> for T
where V:MultiLane<T>,

Source§

fnvzip(self) -> V

Source§

impl<T>ErasedDestructor for T
where T: 'static,


[8]ページ先頭

©2009-2025 Movatter.jp