当错误发生时,当事情出问题时,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

还有就是:意义不一样,异常是在运行时不定出现的。

最新文章

  1. Hadoop学习笔记—10.Shuffle过程那点事儿
  2. php查找字符串首次出现的位置 判断字符串是否在另一个字符串中
  3. Bootstrap – 1.认识
  4. Color Space: HSI
  5. Eclipse 安装插件【转】
  6. Json Null 不输出
  7. SIP 状态码
  8. html 其它标签
  9. MongoDB的查询
  10. Menu学习
  11. Asp.net 获取服务器指定文件夹目录文件,并提供下载
  12. Use Excel to write insert SqlScript
  13. fork()子进程与waitpid()
  14. Android -- 从源码的角度一步步打造自己的TextView
  15. Linux指令--chown
  16. SQL Server 容易忽略的错误
  17. c#堆与栈
  18. awr format
  19. vue.js 开发文档
  20. ThreadPoolExecutor最佳实践--如何选择线程数

热门文章

  1. 在github网站上更新fork的repo
  2. e.printStackTrace()打印在哪里以及如何e.printStackTrace()的内容打印在日志中
  3. deepin linux 安装之后 引导错误 出现 grub>
  4. Go_MySQL查询插入删除
  5. 使用Samba实现文件共享:Windows和Linux之间
  6. vue工程 使用滚动组件 vue2-better-scroll 实现上拉加载 下拉刷新
  7. 百炼OJ - 1001 - Exponentiation
  8. 一段讯飞、百度等语音识别API无法识别的语音最终解决办法
  9. Object.fromEntries
  10. php截取富文本框中的固定长度的字符