如何在 Worker 中捕获 DataCloneError?
How to catch DataCloneError in Worker?
我有一个 HTML5 工人用 postMessage
发送值。有时(例如,如果结果是一个函数)代码会抛出异常:
DataCloneError: The object could not be cloned.
所以我试图捕捉异常:
try {
self.postMessage (result);
}
catch (ex) {
if (ex instanceof DataCloneError)
self.postMessage (result.toString());
else
throw ex;
}
但这会引发以下异常:
ReferenceError: DataCloneError is not defined
我很困惑。如何赶上DataCloneError
?
您收到的错误是 DOMException 接口的一个实例。
要知道它是哪个DOMException,你可以检查它name
属性。
DATA_CLONE_ERROR中的一个是"DataCloneError"
.
try {
postMessage( () => {} , '*' );
}
catch( err ) {
console.log( err.name === "DataCloneError" );
}
我有一个 HTML5 工人用 postMessage
发送值。有时(例如,如果结果是一个函数)代码会抛出异常:
DataCloneError: The object could not be cloned.
所以我试图捕捉异常:
try {
self.postMessage (result);
}
catch (ex) {
if (ex instanceof DataCloneError)
self.postMessage (result.toString());
else
throw ex;
}
但这会引发以下异常:
ReferenceError: DataCloneError is not defined
我很困惑。如何赶上DataCloneError
?
您收到的错误是 DOMException 接口的一个实例。
要知道它是哪个DOMException,你可以检查它name
属性。
DATA_CLONE_ERROR中的一个是"DataCloneError"
.
try {
postMessage( () => {} , '*' );
}
catch( err ) {
console.log( err.name === "DataCloneError" );
}