[英]Proper usage of try/catch block in JavaScript
我有一个写入JetBrains Webstorm IDE的try / catch块,这给了我一个错误。 该错误的内容如下:“在本地捕获了异常的'throw'/此检查报告了所有JavaScript throw实例的实例,这些实例的异常总是通过包含try语句捕获的。使用throw语句作为'goto'来更改本地控制流是可能会造成混淆。”
try {
var invoice = parseInt(localStorage[0]);
if (isNaN(invoice)) {
console.warn("invoice NaN; let's fix that...");
throw "executing catch";
}
}
catch (e) {
console.log(e);
this.test();
invoice = 1;
}
finally {
localStorage[invoice] = JSON.stringify(Ticket);
console.log("localStorage[" + invoice + '] : ' + localStorage[invoice]);
localStorage[0] = parseInt(localStorage[0]) + 1;
}
如果将活动从catch块放入try块的if块中,那么我将不需要try / catch / finally。 那么,除了使用条件语句(if)之外,您还如何抛出错误?如何避免将throw用作“ goto”?
谢谢!
这具有相同的功能,并且更清洁。 为什么要扔/抓?
try {
var invoice = parseInt(localStorage[0]);
if(isNaN(invoice)){
console.warn("invoice NaN; let's fix that...");
console.log("executing catch"); // not really needed
this.test();
invoice = 1;
}
} finally {
localStorage[invoice] = JSON.stringify(Ticket);
console.log("localStorage[" + invoice + '] : ' + localStorage[invoice]);
localStorage[0] = parseInt(localStorage[0]) + 1;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.