在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 +
"message: " + e.message +
"lineNumber: " + e.lineNumber +
"fileName: " + e.fileName +
"stack: " + e.stack);
}
else {
alert("name: " + e.name +
"errorNumber: " + (e.number & 0xFFFF ) +
"message: " + e.message");
}
}
JavaScript中的throw命令事实上可以抛出任何对象,并且我们可以在catch接受到此对象。例如:
try {
throw new Date(); // 抛出当前时间对象
} catch (e) {
alert(e.toLocaleString()); // 使用本地格式显示当前时间
}
分享到:
相关推荐
JavaScript中的异常处理机制是通过`try...catch...finally`语句来实现的,它允许开发者在代码中捕获并处理可能出现的错误。这个机制与Java类似,但有一些关键的差异。 首先,`throw`语句在JavaScript中可以抛出任何...
JavaScript异常处理是编程中至关重要的一个环节,它用于管理和修复代码执行过程中可能出现的错误或异常情况。异常处理机制使得程序能够在遇到错误时不会立即终止,而是有机会进行适当的恢复或者给出反馈,增强了程序...
在JavaScript的异常处理实践中,需要注意的是,try...catch...finally结构不能捕获语法错误,因为语法错误发生在代码解析阶段,此时代码尚未执行。而运行时错误和逻辑错误则发生在代码运行阶段,因此可以被try......
JavaScript错误与异常处理是编程实践中不可或缺的部分,尤其是在JavaScript这样的脚本语言中,错误处理显得尤为重要。JavaScript中的错误分为两种主要类型:语法错误和运行错误。语法错误,也称为错误(Error),是...
全局异常捕获是软件开发中的一个关键环节,它旨在确保应用程序在遇到未预期错误或异常时,仍能提供一定程度的稳定性和用户体验。当程序运行时出现异常,如果没有被捕获,可能会导致程序突然崩溃,给用户带来不愉快的...
全局异常捕获的基本思路是在应用程序的主进程中创建一个顶级的异常处理器,通常是通过设置`UncaughtExceptionHandler`来实现。这个处理器会捕获那些没有被其他异常处理器处理的未捕获异常,从而提供一个统一的错误...
### 错误处理的艺术:精通JavaScript中的异常管理 在当今高度依赖互联网的世界中,JavaScript(简称JS)作为一种轻量级且强大的编程语言,在构建交互式的Web应用程序方面扮演着至关重要的角色。JavaScript的主要...
使用try-catch语句可以捕获JavaScript中的异常,并进行相应的处理。 4.2 使用console.log()函数调试代码 使用console.log()函数可以调试JavaScript代码,输出变量的值和错误信息。 4.3 使用alert()函数调试代码 ...
JavaScript提供try...catch语句来处理可能出现的异常。 11. **调试和优化**:了解如何使用开发者工具进行代码调试和性能优化是每个JavaScript开发者必备的技能。包括设置断点、分析调用栈、检查内存使用情况等。 ...
第3部分深入探索JavaScript,介绍了语法、值、运算符、布尔类型、数字、字符串、语句、异常捕获、函数、变量、对象与继承、数组、正则表达式、Date、Math、JSON、标准全局变量、编码和JavaScript、ECMAScript 5的新...
在JavaScript的Express框架中,处理异步函数的异常捕获是一项关键任务,因为不恰当的错误处理可能导致应用程序崩溃。在Express应用中,通常使用`async/await`语法来编写异步代码,但这样会使得每个异步函数内部都...
前言:在前一篇《asp.net开发中常见公共捕获异常方式总结》,我们整理总结了asp.net服务端的异常处理。这一篇接着前文,简单总结并讨论一下javascript在客户端的异常处理。这样asp.net的服务端和客户端异常处理我们...
3. 在Silverlight客户端中使用try-catch语句捕获异常,并处理可能的错误。 4. 使用FaultContract特性定义服务可能抛出的错误类型,以便客户端能理解和处理这些错误。 通过以上方式,开发者可以确保在Silverlight...
总结,JavaScript的异常处理机制提供了`try...catch...finally`语句,帮助我们在代码中捕获和处理异常,确保程序在遇到错误时仍能有序地执行,同时提供了`throw`语句供开发者手动抛出异常。理解和熟练运用这些机制,...
在JavaScript中,事件和异常捕获是两个重要的概念,它们对于编写健壮和用户友好的代码至关重要。首先,我们来详细讲解事件处理。 事件是用户与网页交互时发生的特定动作,如单击按钮、鼠标移动等。JavaScript提供了...
本文将深入探讨JavaScript中的try...catch异常捕获机制,包括其基本概念、使用方法以及各种特殊情况的处理。 1. **try...catch块的基本结构** JavaScript的异常处理机制采用了try...catch语句,它由try、catch和可...
JavaScript中的异常处理通常通过try...catch语句进行,用于捕获和处理程序运行时可能出现的错误。 9. **浏览器API** 浏览器提供了一系列API,如navigator、window、document等,供开发者使用。例如,可以使用...
try...catch语句可以捕获并处理可能出现的异常,保证程序的健壮性。 总之,这份"JavaScript学习帮助文档"涵盖了JavaScript的基础到高级概念,对于初学者来说是一份宝贵的资源。通过深入学习和实践,不仅可以掌握...
5. **错误处理**:JavaScript.Net提供了捕获和处理JavaScript执行时可能出现的异常的能力,这对于调试和确保程序的健壮性至关重要。 6. **API调用**:JavaScript.Net提供了一系列API,允许开发者注册.NET方法供...