Photoshop用JSXで矩形選択していない状態でselectionのプロパティにアクセスすると謎のエラー
すごくニッチな内容です。
矩形選択していない状態で下記のスクリプトを実行すると、謎のエラーが起こってスクリプトが中断されます。
var selection = activeDocument.selection; var bounds = selection.bounds; // -> ここでエラー alert("Hi!"); // -> 沈黙
念のため、hasOwnProperty()
でプロパティの存在をチェックしてみてもtrue
が出る。
var selection = activeDocument.selection; alert( selection.hasOwnProperty('bounds') ); // -> true
最後にtry-catch
してみる。
var selection = activeDocument.selection; var bounds; try { bounds = selection.bounds; } catch(e) { alert(e); // -> エラー: 該当する要素はありません。 }
ないならundefined
返してください(切実)
解決策
try-catch
で回避するしか思い浮かばないです。
var selection = activeDocument.selection; var bounds; try { bounds = selection.bounds; } catch(e) {}