話は変わるが、お前らこういうコード書いたらダメだからな

if (order.cancelable()) {
 order.cancel()
}

例外はなんにでもあるからそのことについてコメントはしないが、
この場合キャンセル可能と判明した直後にキャンセル不可能になる可能性がある。

if (order.cancelable()) {
 sleep 1日
 order.cancel()
}

とやれば理由がわかるだろう。

これが正しい書き方だからな

try {
 order.cancel()
} catch(e) {
 キャンセルできない場合の処理
}