javascript try catch vs if then else
javascript try catch vs if then else
如果语句成功,我需要能够运行一堆代码。如果javascript有一个try/catch/else,那么我会把所有的代码放在else中,然后完成它。我不想使用布尔值来模仿try/catch/else中的else。我的理解是,尝试可以处理错误,但不能这样做吗?如果是这样,我将不得不使用If,但我不希望我的程序在QueryInterface失败时崩溃。所以我的问题是,如果QueryInterface失败,那么else将在下面的if中执行正确吗?如果是这样,那么我想使用try/catch的唯一原因是捕获错误条件。
现有方法:try {
channel = subject.QueryInterface(Ci.nsIHttpChannel);
} catch(err) {
booSuccess = false;
intErrorCount++
}
if (booSuccess == true) {
...bunch of stuff...
}
提出方法:if (channel = subject.QueryInterface(Ci.nsIHttpChannel)) {
...bunch of stuff...
} else {
intErrorCount++
}
不,抛出一个异常(用第一个代码片段捕获)与返回一个错误代码(channel == 0
,第二个代码片段检查)是非常不同的。他们不做同样的事。
避免使用布尔变量的方法是
try {
channel = subject.QueryInterface(Ci.nsIHttpChannel);
...bunch of stuff...
} catch(err) {
intErrorCount++
}
,但如果在一堆东西中发生异常,也会增加错误计数
不,你不能简单地用if/else代替try/catch。如果一行抛出错误,javascript解释器将停止执行该脚本。
相关文章:
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 正在尝试使用if和else添加类,但无法正常工作
- Javascript:If-then语句在函数中不起作用
- angularjs无法读取未定义的属性then
- Javascript Return and if/else
- JavaScript if-else 速记错误
- 如何检查if/else语句中的随机条件
- 在javascript中创建数组,而不是if.else
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 我的函数跳过if-then-else语句
- JSTL if-then-else session attribute
- 将“if/then.else”语句与“switch”语句组合在一起
- 我应该使用 if-then-else 或 and or 运算符来检查 Javascript 中的空值吗?
- 如何在jQuery/javascript中正确使用if-then-else语句
- 用javascript实现if-then-else-if-else堆栈的更简单方法是什么
- 寻找if then else模式与异步库
- 表达式中的if-then-else构造
- If Then Else用于我的简单HTML表单
- Javascript ajax if then else
- javascript try catch vs if then else