JavaScript 处理异常
异常表示存在需要特殊操作技术的异常情况。在编程术语中,异常是中断代码正常流程的异常代码。这种异常需要使用专门的编程构造来执行。
什么是异常处理
在编程中,异常处理是一种用于处理代码中异常语句并执行它们的过程或方法。它还使得能够处理代码/程序的流程控制。为了处理代码,使用了各种处理器来处理异常并执行代码。
例如 ,对非零值除以零将始终导致无穷大,这是一个异常。因此,通过异常处理,可以执行和处理它。
在异常处理中:
使用throw语句引发异常。这意味着当发生异常情况时,使用throw抛出一个异常。
通过将代码封装到try…catch块中处理被抛出的异常。如果存在错误,将执行catch块,否则只会执行try块中的语句。
因此,在编程语言中,可能会有不同类型的错误,可能会干扰程序的正确执行。
错误类型
编码时,代码可能存在三种类型的错误:
- 语法错误: 当用户在编程语言的预定义语法中犯了一个错误时,可能会出现语法错误。
- 运行时错误: 当程序执行时发生错误时,称之为运行时错误。创建运行时错误的代码称为异常。因此,使用异常处理程序来处理运行时错误。
- 逻辑错误: 程序中存在逻辑错误时,可能无法产生预期的输出,并可能异常终止。这种错误称为逻辑错误。
错误对象
当发生运行时错误时,它会创建并抛出一个Error对象。这种对象也可以用作用户自定义异常的基础。错误对象有两个属性:
- name:这是一个对象属性,设置或返回错误的名称。
- message: 该属性以字符串形式返回错误消息。
虽然Error是一个通用的构造函数,但还有以下标准的内置错误类型或错误构造函数
- EvalError: 它创建一个在eval()中发生的错误的实例,eval()是用于评估js字符串代码的全局函数。
- InternalError: 当js引擎抛出内部错误时,会创建一个实例。
- RangeError: 它创建一个在数值变量或参数超出有效范围时发生的错误的实例。
- ReferenceError: 当无效的引用被取消引用时,创建一个错误实例。
- SyntaxError: 在解析eval()时可能发生的语法错误会创建一个实例。
- TypeError: 当变量不是有效类型时,会创建此类错误的实例。
- URIError: 在传递无效参数给encodeURI()或decodeURI()时发生的错误会创建一个实例。
异常处理语句
这里有几个语句来处理发生的异常:
- throw语句
- try…catch语句
- try…catch…finally语句
这些异常处理语句将在下一节中讨论。