このエラーが発生します:
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
ブロックが機能していないようです。
なぜ私はそれを捕まえられないのですか?私は何かが足りないのですか?
screen.orientation.lock('portrait');
は実際にはエラーをスローしている Promise を返すため、try/catch
はここでは機能しません。エラーのこの部分は、Promiseで例外がスローされることを示しています。
Uncaught(in promise)DOMException:lockOrientation()はこのデバイスでは使用できません。
例外を処理するために、catch
コールバックを添付できます。
screen.orientation.lock('portrait').catch(function(error) {
// whatever
});