我收到此错误:
Uncaught (in promise) DOMException: lockOrientation() is not available on this device.
code: 9
message: "lockOrientation() is not available on this device."
name: "NotSupportedError"
当我在Chrome中运行以下代码时:
try {
screen.orientation.lock('portrait');
} catch (error) {
// whatever
}
由于桌面版Chrome不支持方向锁定,因此预计会出现错误。我想抓住错误,因此它不会乱丢控制台,但将其包裹在try...catch
块中似乎无法正常工作。
为什么我无法抓住它?我错过了什么吗?
答案 0 :(得分:16)
try/catch
在这里不起作用,因为screen.orientation.lock('portrait');
实际上返回了Promise,这会引发错误。错误的这一部分显示了promise中抛出的异常。
未捕获(在承诺中)DOMException:此设备上没有lockOrientation()。
要处理异常,您可以附加catch
回调。
screen.orientation.lock('portrait').catch(function(error) {
// whatever
});