JavaScript中的最佳实践是使用一些习惯用法来检测错误,而不是依赖于try-catch。使用TypeError很容易:
if (typeof foo !== "number") {
console.log("That ain't a number!");
return;
}
与ReferenceError和RangeError类似的习语。
但是在使用encodeURI()或decodeURI()之前你是如何测试URIError而不将它们放在try-catch中的呢?
(这是不可能的答案)。
答案 0 :(得分:0)
在解码之前,您需要手动检查URI的无效转义字符,不是吗?这是我能想到的唯一解决方案。