本文概述
异常表示存在异常状况, 需要特殊的可操作技术。用编程术语来说, 异常是打破常规代码流程的异常代码。此类异常需要专门的编程构造来执行。
什么是异常处理
在编程中, 异常处理是用于处理代码中的异常语句并执行它们的过程或方法。它还可以处理代码/程序的流控制。为了处理代码, 使用了各种处理程序来处理异常并执行代码。例如, 将非零值除以零将始终导致无穷大, 这是一个例外。因此, 借助异常处理, 可以执行和处理异常。
在异常处理中:
throw语句用于引发异常。这意味着当发生异常情况时, 将使用throw引发异常。
通过将代码包装到try…catch块中来处理引发的异常。如果存在错误, 将执行catch块, 否则将仅执行try块语句。
因此, 在编程语言中, 可能存在不同类型的错误, 这些错误可能会干扰程序的正确执行。
错误类型
编码时, 代码中可能存在三种错误:
- 语法错误:如果用户在编程语言的预定义语法中犯了错误, 则可能会出现语法错误。
- 运行时错误:在程序执行过程中发生错误时, 此类错误称为运行时错误。产生运行时错误的代码称为”异常”。因此, 异常处理程序用于处理运行时错误。
- 逻辑错误:程序中出现任何逻辑错误, 可能无法产生所需的输出, 并且可能异常终止时, 将发生此错误。这种错误称为逻辑错误。
错误对象
当发生运行时错误时, 它将创建并抛出一个Error对象。这样的对象也可以用作用户定义的异常的基础。错误对象具有两个属性:
- 名称:这是一个对象属性, 用于设置或返回错误名称。
- 消息:此属性以字符串形式返回错误消息。
尽管Error是泛型构造函数, 但它旁边还有以下标准的内置错误类型或错误构造函数:
- EvalError:它为eval()中发生的错误创建一个实例, eval是用于评估js字符串代码的全局函数。
- InternalError:当js引擎引发内部错误时, 它将创建一个实例。
- RangeError:它为当数字变量或参数超出其有效范围时发生的错误创建一个实例。
- ReferenceError:为无效引用被取消引用时发生的错误创建一个实例。
- SyntaxError:为解析eval()时可能发生的语法错误创建了一个实例。
- TypeError:当变量不是有效类型时, 将为此类错误创建一个实例。
- URIError:为错误创建实例, 该错误是在encodeURI()或decodeURI()中传递无效参数时发生的。
异常处理语句
有以下语句可以处理是否发生任何异常:
- throw语句
- try…catch语句
- try…catch…finally声明。
这些异常处理语句将在下一节中讨论。
评论前必须登录!
注册