Skip to main content
Version: 0.10.0

Function: isRnExecuTorchError()

isRnExecuTorchError<C>(err, code?): err is RnExecuTorchError<C>

Defined in: core/error.ts:121

Narrows an unknown caught value to an RnExecuTorchError, optionally requiring a specific code.

Duck-typed so it holds for errors that crossed a worklet or JSI boundary, where class identity is gone.

Type Parameters

C

C extends "LOAD_FAILED" | "EXECUTION_FAILED" | "SCHEMA_MISMATCH" | "INVALID_ARGUMENT" | "INVALID_STATE" | "RESOURCE_DISPOSED" | "RESOURCE_BUSY" | "DOWNLOAD_FAILED" | "DOWNLOAD_ABORTED" | "UNKNOWN" = "LOAD_FAILED" | "EXECUTION_FAILED" | "SCHEMA_MISMATCH" | "INVALID_ARGUMENT" | "INVALID_STATE" | "RESOURCE_DISPOSED" | "RESOURCE_BUSY" | "DOWNLOAD_FAILED" | "DOWNLOAD_ABORTED" | "UNKNOWN"

Parameters

err

unknown

The caught value.

code?

C

When given, also requires the error to carry exactly this code.

Returns

err is RnExecuTorchError<C>

Whether err is an RnExecuTorchError (of code code, if given).

Example

try {
await classifier.classify(image);
} catch (e) {
if (isRnExecuTorchError(e, 'RESOURCE_BUSY')) return; // a run is in flight
throw e;
}