try catch和if else
当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。描述这种情况的技术术语是:JavaScript 将抛出一个错误。
try 语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
首先try提捕获异常的,即异常并不是我们能预先知道的,所以不能用if什么条件来判断的。异常是需要在程序的运行中进行捕获的。
举个例子来看看吧:
int a=200,b=0; int c; try{ c=a/b; }catch(...){ ShowMessage("Can not devided by zero!"); }
可是如果上面的例子用if…else…,就不能够显示else后面的结果了。
的确, if可以进行简单的过滤, 但是, 由于机器或者说环境各异, 可能会产生一些无法预知的异常, 这是在开发阶段无法预知的, 所以就要用try...catch来捕捉, 而if是无法做到的.
从程序结构上来说:
- if…else…属于程序结构中的分支结构;
- try…catch…应该属于程序结构中的顺序结构,虽然说在出现异常的时候编译器会跳到捕获异常的入口处,但这和传统意义上的if…else…结构存在根本性的差别.
有3种情况:
- 当不可预知有什么异常的时候,用try
- 当过多情况需要处理,用if就会太繁琐
- 当你需要观察的代码没有返回值的时候,if()当中没法作判断,必须用try
还有就是:意义不一样,异常是在运行时不定出现的。