try catch在JavaScript中有什么双重作用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1745个文字,预计阅读时间需要7分钟。
程序是按照从上到下顺序执行的,同时可以通过一些控制语句来改变执行路径。受控制语句影响后,程序最终的执行路径就是控制流。
JavaScript中的控制语句包括if、for、while、try...catch等,它们可以控制程序的行为。
程序是从上到下顺序执行的,同时可以通过一些控制语句来改变执行的路线,受控制语句影响下,程序最终的执行路线就是控制流。
js 里面的控制语句有 if、for、while、try catch 等,它们都会改变程序的走向。
程序是操作数据的,随着程序的运行,也就是控制流的前进而改变的数据叫做数据流。
很明显,数据流是依赖控制流的,程序分析里面的数据流分析也是要先做控制流分析。
比如这样一段代码:
const a = 1; let b; if (a === 1) { b = '1111'; } else { b = '2222'; }
因为 a 为 1,所以会执行到 b = '1111';,这就是控制流,也就是程序最终执行的代码,可以用来分析程序的走向,做一些死代码删除之类的优化。
而随着控制流的执行,b 会被赋值为 2222,这就是数据流,也就是值的变化的过程,可以用来分析某个语句的变量的值。
程序是针对不同数据做不同的处理,如果数据有错误,那么处理程序也就没法处理了,就会报错,会中断后续的控制流。比如数据为空、数据格式不对等等。这时候就要通过 try catch 做错误处理,也叫异常处理。
我们做异常处理有两个目的:
1、对出错的逻辑做一些兜底处理。
比如参数解析有错误的时候,在 catch 里赋一个默认值。这种错误处理之后就没必要再报出来了。
本文共计1745个文字,预计阅读时间需要7分钟。
程序是按照从上到下顺序执行的,同时可以通过一些控制语句来改变执行路径。受控制语句影响后,程序最终的执行路径就是控制流。
JavaScript中的控制语句包括if、for、while、try...catch等,它们可以控制程序的行为。
程序是从上到下顺序执行的,同时可以通过一些控制语句来改变执行的路线,受控制语句影响下,程序最终的执行路线就是控制流。
js 里面的控制语句有 if、for、while、try catch 等,它们都会改变程序的走向。
程序是操作数据的,随着程序的运行,也就是控制流的前进而改变的数据叫做数据流。
很明显,数据流是依赖控制流的,程序分析里面的数据流分析也是要先做控制流分析。
比如这样一段代码:
const a = 1; let b; if (a === 1) { b = '1111'; } else { b = '2222'; }
因为 a 为 1,所以会执行到 b = '1111';,这就是控制流,也就是程序最终执行的代码,可以用来分析程序的走向,做一些死代码删除之类的优化。
而随着控制流的执行,b 会被赋值为 2222,这就是数据流,也就是值的变化的过程,可以用来分析某个语句的变量的值。
程序是针对不同数据做不同的处理,如果数据有错误,那么处理程序也就没法处理了,就会报错,会中断后续的控制流。比如数据为空、数据格式不对等等。这时候就要通过 try catch 做错误处理,也叫异常处理。
我们做异常处理有两个目的:
1、对出错的逻辑做一些兜底处理。
比如参数解析有错误的时候,在 catch 里赋一个默认值。这种错误处理之后就没必要再报出来了。

