在JavaScript可以使用try...catch来进行异常处理。例如:
try {
foo.bar();
} catch (e) {
alert(e.name + " : " + e.message);
}
目前我们可能得到的系统异常主要包含以下6种:
EvalError: raised when an error occurs executing code in eval()
RangeError: raised when a numeric variable or parameter is outside of its valid range
ReferenceError: raised when de-referencing an invalid reference
SyntaxError: raised when a syntax error occurs while parsing code in eval()
TypeError: raised when a variable or parameter is not a valid type
URIError: raised when encodeURI() or decodeURI() are passed invalid parameters
上面的六种异常对象都继承自Error对象。他们都支持以下两种构造方法:
new Error();
new Error( " 异常信息 " );
手工抛出异常的方法如下:
try {
throw new Error( " Whoops! " );
} catch (e) {
alert(e.name + " : " + e.message);
}
如要判断异常信息的类型,可在catch中进行判断:
try {
foo.bar();
} catch (e) {
if (e instanceof EvalError) {
alert(e.name + " : " + e.message);
} else if (e instanceof RangeError) {
alert(e.name + " : " + e.message);
}
// etc
}
Error具有下面一些主要属性:
description: 错误描述 (仅IE可用).
fileName: 出错的文件名 (仅Mozilla可用).
lineNumber: 出错的行数 (仅Mozilla可用).
message: 错误信息 (在IE下同description)
name: 错误类型.
number: 错误代码 (仅IE可用).
stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).
因此为了更好的了解错误信息我们可以将catch部分改为如下形式:
try {
foo.bar();
} catch (e) {
if (browserType != BROWSER_IE) {
alert(
" name: " + e.name +
" \nmessage: " + e.message +
" \nlineNumber: " + e.lineNumber +
" \nfileName: " + e.fileName +
" \nstack: " + e.stack);
}
else {
alert(
" name: " + e.name +
" \nerrorNumber: " + (e.number & 0xFFFF ) +
" \nmessage: " + e.message " );
}
}
JavaScript中的throw命令事实上可以抛出任何对象,并且我们可以在catch接受到此对象。例如:
1 try {
2 throw new Date(); // 抛出当前时间对象
3 } catch (e) {
4 alert(e.toLocaleString()); // 使用本地格式显示当前时间
5 }
6
分享到:
相关推荐
`try...catch`语句用于捕获和处理可能发生的错误,防止程序因未预期的错误而崩溃。下面将详细介绍`try...catch`的工作原理和使用方式。 首先,`try`块是包含可能会引发错误的代码的区域。当在`try`块中的代码执行时...
总之,"trycatch.zip"中的示例展示了如何在Golang中模仿`try...catch`和`try...catch...finally`结构,通过自定义的函数和闭包实现了异常处理功能,这对于编写需要优雅处理错误的Golang代码来说非常有用。
主要帮助大家理解javascript中try...catch...finally,从浅入深,一步步掌握javascript中try...catch...finally的使用方法,感兴趣的小伙伴们可以参考一下
JavaScript 提供了 `try...catch` 结构来帮助开发者捕获和处理运行时错误。通过这种机制,我们可以避免将错误直接展示给用户,而是采用更友好的方式处理这些异常情况。 #### 二、Try...Catch 的基本概念 在 ...
try...catch结构是JavaScript中处理异常的主要方式。try块内包含可能抛出异常的代码,而catch块用于处理try块中的异常。通过这种方式,程序即使遇到错误也能够继续运行,而不是直接崩溃。 try...catch语句的结构...
在JavaScript的异常处理实践中,需要注意的是,try...catch...finally结构不能捕获语法错误,因为语法错误发生在代码解析阶段,此时代码尚未执行。而运行时错误和逻辑错误则发生在代码运行阶段,因此可以被try......
在JavaScript中,try..catch语句是最常用的异常处理机制。 首先,要了解异常处理的必要性。当浏览器执行JavaScript脚本时,若脚本发生错误,浏览器会在控制台或界面的特定区域显示错误信息。这些错误信息可能是一个...
本文将深入探讨JavaScript中的异常处理机制,包括Error对象、自定义异常以及try...catch...finally语句的用法。 一、异常处理概念 在JavaScript运行时,如果发生如数组索引越界、类型不匹配或语法错误等错误,解释...
当在try代码块中发生错误时,控制流会立即跳转到相应的catch块,以便处理异常。finally块则用于执行不论是否出现异常都需要进行的清理工作。 ```javascript try { // 可能出错的代码 } catch (exception) { //...
多个 `catch` 块按照它们在代码中的顺序来处理异常。如果某个异常类型被两个或更多 `catch` 块所捕获,则最先定义的那个 `catch` 块会被执行。 #### 六、结论 通过以上的介绍,我们可以看到 `try-catch` 在异常...
针对这些错误,JavaScript提供了try...catch语句来捕获和处理异常。在try块中,你可以放置可能抛出错误的代码,如果其中的代码抛出错误,那么执行会立即停止并跳转到相应的catch块。catch块可以包含处理错误的代码,...
- Edition 3:引入了字符串处理、错误定义和数值输出的更新,增加了对try...catch异常处理、正则表达式、新的控制语句的支持,这标志着ECMAScript成为了一门真正的编程语言。主要得到Internet Explorer 5.5+、...
在JavaScript中,有三种主要的错误处理机制:Try、Catch和Throw。 Try语句允许我们定义在执行时进行错误测试的代码块。如果在Try代码块中发生错误,JavaScript引擎将停止执行,并生成一个错误消息。Catch语句允许...
7. **错误处理**:了解如何正确处理运行时错误,使用`try...catch`语句捕获和处理异常,是编写健壮代码的关键。 8. **异步编程**:JavaScript的事件循环和回调函数是异步编程的基础。随着ES6的出现,Promise和async...
包括变量(var、let、const)、数据类型(字符串、数字、布尔值、null、undefined、对象、数组、Symbol等)、操作符(算术、比较、逻辑、三元)、流程控制(条件语句、循环语句、函数)以及异常处理(try...catch)...
7. **错误处理**:讨论如何使用try...catch语句来捕获和处理运行时错误,以及Error对象和自定义错误。 8. **BOM处理**:浏览器对象模型(BOM)允许JavaScript与浏览器进行交互,如窗口操作、导航、历史记录管理、...
JavaScript基础知识点总结 JavaScript是当前最流行的编程语言之一,广泛应用于Web开发中,尤其是在客户端的网页...1. 错误处理是指捕获和处理代码执行中的错误。 2. 错误处理可以通过try-catch语句和Error对象实现。
JavaScript中的异常处理机制是通过`try...catch...finally`语句来实现的,它允许开发者在代码中捕获并处理可能出现的错误。这个机制与Java类似,但有一些关键的差异。 首先,`throw`语句在JavaScript中可以抛出任何...
JavaScript中的try catch语句是ECMAScript规范提供的异常处理机制,它允许程序捕捉执行过程中发生的错误,并执行错误处理代码,避免整个程序因为一个错误而崩溃。在JavaScript开发中,try catch语句的使用非常频繁,...