js try catch 用法
- 博客分类:
- 技术杂绘
js try catch 用法
2011年03月23日
try
{
throw new Error(10,"asdasdasd")
}
catch (e)
{
alert(e.message);
alert(e.description)
alert(e.number)
alert(e.name)
throw new Error(10,"asdasdasd")
}
在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()); // 使用本地格式显示当前时间 }
发表评论
-
Windows Azure 基本概念浅析
2012-01-20 09:26 532Windows Azure 基本概念浅析 2011年04月1 ... -
Windows Azure 项目笔记#1
2012-01-20 09:26 531Windows Azure 项目笔记#1 2011年05月0 ... -
SDK Manager:failed to install
2012-01-20 09:26 497SDK Manager:failed to install ... -
Windows Azure AppFabric Caching入门简介
2012-01-20 09:26 546Windows Azure AppFabric Caching ... -
windows程序设计相关思想
2012-01-20 09:25 536windows程序设计相关思想 ... -
墨子对儒家“三年之丧”的批判及两家之歧见
2012-01-19 14:27 668墨子对儒家“三年之丧”的批判及两家之歧见 2011年12月2 ... -
孟子三答
2012-01-19 14:27 566孟子三答 2011年12月24日 孟子许多天没上朝,这天 ... -
《论语》解读之3-26《无礼之状乱不忍观》
2012-01-19 14:27 668《论语》解读之3-26《无礼之状乱不忍观》 2012年01月 ... -
javascript 的 try catch用法
2012-01-17 04:15 536javascript 的 try catch用法 2011年 ... -
javascript使用全集2
2012-01-17 04:15 612javascript使用全集2 2011年04月08日 ... -
【FlashCS5】【莫名其妙】之变量 ComponentShim 未定义
2012-01-17 04:15 800【FlashCS5】【莫名其妙】之变量 ComponentSh ... -
JavaScript--异常处理
2012-01-17 04:15 516JavaScript--异常处理 2010 ... -
最高境界的赞美
2012-01-16 03:04 652最高境界的赞美 2009年09月17日 爱美之心,人皆有 ... -
会说话的女人最出色!
2012-01-16 03:04 609会说话的女人最出色! 2 ... -
女人最出色的地方―说话《二》
2012-01-16 03:04 632女人最出色的地方―说话《二》 2011年05月03日 对 ... -
有一种赞美令人心痛
2012-01-16 03:04 550有一种赞美令人心痛 20 ... -
e最著名的形容美女的词语
2012-01-16 03:04 385e最著名的形容美女的词 ...
相关推荐
JS try catch语句一般在什么情况下使用?是必须使用的吗?下面就让小编来给大家介绍一下试用心得。
主要介绍了javascript中的try catch异常捕获机制,简单分析了try catch异常捕获机制的基本定义与使用方法,需要的朋友可以参考下
try…catch的作用是测试代码中的错误。 实例 try…catch声明 如何编写try…catch声明。 带有确认框的try…catch声明 另一个编写try…catch声明的例子。... 有两种在网页中捕获错误的方法: 使用try…catch声明。(在
巴别塔尝试捕获装载机该加载器使用babel转换文件并使用try catch子句包装所有函数(包括类方法和箭头函数),它收集特定信息:文件名,函数名,行号,使用AST(抽象语法树)和源映射。 该加载器基于babel-loader的...
主要帮助大家理解javascript中try...catch...finally,从浅入深,一步步掌握javascript中try...catch...finally的使用方法,感兴趣的小伙伴们可以参考一下
本文为大家分析了javascript中try…catch…finally的使用方法,分享给大家供大家参考,具体内容如下 稍微复杂一点点,就要用到判断语句,if else进行条件判断,话说if条件else否则,这样的判断对于写程序代码的码侬...
:sign_of_the_horns: :sign_of_the_horns: :wrench: 安装npm install --save no-try :guitar: 用法首先,我们需要设置导入JavaScript(全部) const useTry = require ( "no-try" ) . useTry ;const useTryAsync = ...
JavaScript Try...Catch 声明的 使用方法
等待js 异步等待包装器,可轻松处理错误 先决条件 您需要使用Node 7.6(或更高版本)或ES7编译器,才能使用异步/等待功能。 您可以为此使用babel或打字稿。 安装 npm i await-to-js --save 用法 import to from '...
安装$ npm install utils-try-function用法var wrap = require ( 'utils-try-function' ) ;包装(fcn) 将function包装在try/catch块中。 function fcn ( ) {throw new Error ( 'beep boop' ) ;}var f = wrap ( fcn ...
等待结果没有try / catch块的异步功能的错误处理动机我发现Go中处理错误的方式非常优雅,并希望做出一些模仿JavaScript中的行为的方法,同时还要利用新版本的Node.js(7.6+)中提供的新async / await功能。...
在没有所有try catch块的情况下安全地使用async / await [error, data]承诺签名 引发 用法 const safeAwait = require ( 'safe-await' ) async function fooBar ( ) { const [ error , data ] = await safeAwait ...
NodeJS要求没有try / catch才能让您处理模块未找到错误。 仅当模块存在且不包含错误时,才允许您优雅地要求它。 用法 const optionalRequire = require ( "optional-require" ) ( require ) ; const foo = ...
该模块将提供一种从await处理程序捕获错误的简单方法,而无需将所有内容包装在try / catch块中。 该模块是基于Node.js的仅基于减去打字稿方面的版本。 该模块 ,因为它基于提供的代码。 您可以继续正常使用async /...
试用电话功能性try-catch,用于更简洁的代码和。安装$ npm install try-call用法var call = require ( 'try-call' ) ;var doc = '{ "foo": 123 }' ;var parse = JSON . parse . bind ( null , doc ) ;call ( parse ,...
异常会被立即地抛出,可以使用 try…catch 处理,也可以冒泡。 const fs = require('fs'); try { fs.unlinkSync('文件'); console.log('已成功删除文件'); } catch (err) { // 处理错误 } 回调 异步的形式总是...
1.本书1~21章所附代码的运行环境 操作系统:Windows 2003、... 21.3.js 使用Prototype的Try.these()创建XML DOM。 21.4.html Prototype的Form对象的使用方法。 prototype.js Prototype的.js库文件。
async和await用法 avaScript异步编程是Web前端开发的重要基础,而async/await是目前比较流行... 对于初学者,可以通过本文学习async/await的基本概念和使用方法,快速掌握JavaScript异步编程的基础知识,提高开发效率。
13.3.3 使用try...catch语句处理 异常 377 13.3.4 Error对象 379 13.3.5 使用throw语句 380 13.4 JavaScript调试技巧 381 13.4.1 使用alert()语句 382 13.4.2 使用write()语句 382 13.4.3 抛出自定义异常消息 383 ...