JS中错误处理

JS弹出层对话框,Tooltip提示,Msg消息框 JS弹出层对话框插件源码,包含弹出层对话框和Tooltip提示框,消息框等多种功能,兼容主流浏览器(注:不兼容IE9以下版本的IE浏览器)。内置4种颜色的皮肤,且可以自定义对话框样式,可设置对话框位置。Tooltip可以自定义样式(空心、实心自由设置),并且有上下左右共12个位置的方位选择。插件参数很多(见源码),可以组合使用,具体调用方法请参考示例。 立即下载

1)JavaScript中的Try…Catch 语句
使用try…catch语句可以测试一段代码是否出错。
——————————————————————————-
JavaScript - 出错捕捉
当浏览网页的时候,我们常常会见到一个JavaScript的警告窗口,告诉我们发生运行出错, 并提问你是否要“debug?”。 这种出错信息也许对开发者有用,但是对用户没有用处。 当用户看到这些错误时,他们通常会离开这个网页。
这一章我们就会学习怎样捕捉和处理这些JavaScript的出错信息,以防止因此而丢失用户。
有两种方法可以在网页中捕捉错误:

  • [li]使用 try…catch 语句 (适用于IE5以上, Mozilla 1.0, 和 Netscape 6)
  • 使用onerror 事件。 这是捕捉错误的旧的传统做法(自从Netscape 3以后就开始使用)

———————————————————————————-
Try…Catch语句
使用try…catch语句可以测试一段代码是否出错。 try 语句块中包含要执行的代码, catch 语句块中包含当出错时要执行的代码。
语法


try 
{ 
//Run some code here 
} 
catch(err) 
{ 
//Handle errors here 
}

注意 try和catch 都是小写的。 使用大写字母会出错!

例1
以下例子包含的脚本原本应该在用户点击按钮时显示信息”欢迎访客!” 但是,因为函数message()中有一个书写错误, alert() 被错误的写为adddlert(), 因此将会产生一个JavaScript 出错:

 


<html> 
<head> 
<script type=”text/javascript”> 
function message() 
{ 
adddlert(”Welcome guest
!”) 
} 
</script> 
</head> 
<body> 
<input type=”button” value=”View message” onclick=”message()” /> 
</body>   
</html> 

为了在出错时有更适当的反应, 我们可以使用 try…catch 语句。
以 下例子将上面的 “欢迎访客!” 的例子改写为使用try…catch 语句。 因为alert() 拼写错误, 一个JavaScript出错发生,但是这次catch 语句块会捕捉到这个错误,并执行一段定制的代码来处理这个错误, 因此将会显示一条定制的信息来告诉用户发生了什么:

 


<html> 
<head> 
<script type="text/javascript"> 
var txt="" 
function message() 
{ 
try 
{ 
adddlert(
"Welcome guest!") 
} 
catch(err) 
{ 
txt
="There was an error on this page./n/n" 
txt
+="Error description: " + err.description + “/n/n" 
txt+=
"Click OK to continue./n/n" 
alert(txt) 
} 
} 
</script> 
</head> 
<body> 
<input type=
"button" value="View message" onclick="message()" /> 
</body> 

</html> 

例2
下 面这个例子使用一个确认对话框显示一条定制信息,告诉用户可以点击OK按钮继续浏览网页,或点击Cancel按钮来返回主页。 如果确认函数返回false, 用户点击的是Cancel, 那么代码将redirect用户。 如果确认函数返回的是true, 则代码什么也不做:


<html> 
<head> 
<script type="text/javascript"> 
var txt="" 
function message() 
{ 
try 
{ 
adddlert(
"Welcome guest!") 
} 
catch(err) 
{ 
txt
="本页面出错./n/n" 
txt
+="点击OK继续浏览本页,/n" 
txt
+="或点击 Cancel 返回主页/n/n" 
if(!confirm(txt)) 
{ 
document.location.href
="http://44403376.qzone.qq.com" 
} 
} 
} 
</script> 
</head> 
<body> 
<input type="button" value="View message" onclick="message()" /> 
</body>   
</html> 

 

(2)JavaScript中的onerror事件
用 onerror 事件是传统的捕捉页面出错的方法。
—————————————————————————-
onerror 事件
我们前面介绍了怎样使用try…catch 语句来捕捉页面出错。 现在我们将介绍如何使用 onerror 事件来达到同样的目的。
当页面中出现错误时, onerror 事件就会被触发。
使用onerror事件, 你需要写一个函数来处理这些错误, 然后用onerror事件处理器(handler)调用这个函数。 这个事件处理器有三个参数:msg (出错信息), url (出错页面的url) 和 line (出错行号)。

语法
onerror=handleErrfunction handleErr(msg,url,l)
{
//出错处理
return true or false
}

onerror的返回值决定了浏览器是否显示一个标准出错信息。 如果你返回的是false,浏览器将在JavaScritp的console里显示标准出错信息。 如果返回true, 浏览器则不会显示标准出错信息。
例子
以下例子显示了如何用onerror事件来捕捉一个出错:

 


<html> 
<head> 
<script type="text/javascript"> 
onerror
=handleErr 
var txt="" 
function handleErr(msg,url,l) 
{ 
txt
="There was an error on this page./n/n" 
txt
+="Error: " + msg + “/n" 
txt+=
"URL: " + url + “/n" 
txt
+="Line: " + l + “/n/n" 
txt+=
"Click OK to continue./n/n" 
alert(txt) 
return true 
}function message() 
{ 
adddlert(
"Welcome guest!") 
} 
</script> 
</head><body> 
<input type=
"button" value="View message" onclick="message()" /> 
</body> 

</html> 

throw语句
使用throw语句可以生成一个例外(exception)。结合 try…catch 使用throw语句可以控制程序流程,并生成准确地出错信息。
语法
throw(exception)
其中exception可以是字符串,整数,布尔值,或一个对象。
注意 throw 为小写字母。 使用大写字母会造成 JavaScript 出错!
例1
以下例子根据变量x的值进行不同的动作。 如果x值大于10或小于0,就会抛出一个错误。出错会被 catch 参数捕获,显示适当的出错信息:

<html> 
<head> 
<script type="text/javascript"> 
onerror
=handleErr 
var txt="" 
function handleErr(msg,url,l) 
{ 
txt
="There was an error on this page./n/n" 
txt
+="Error: " + msg + "/n" 
txt
+="URL: " + url + "/n" 
txt
+="Line: " + l + "/n/n" 
txt
+="Click OK to continue./n/n" 
alert(txt) 
return true 
}
function message() 
{ 
adddlert(
"Welcome guest!") 
} 
</script> 
</head><body> 
<input type="button" value="View message" onclick="message()" /> 
</body> 

</html> 

手把手教你学PCIE--基本概念:PCIe 初始化流程概述 硬件上电复位:系统上电时,所有 PCIe 设备都会进行复位。链路训练(Link Training):主机和设备之间通过链路训练状态机(LTSSM)协商链路参数(如速度和宽度)。配置空间访问:主机通过配置空间读写来发现和配置设备。资源分配:主机为设备分配内存映射 I/O 区域(BARs)、中断向量等资源。驱动程序加载和高级配置:操作系统加载设备驱动程序,并进行更高级的配置和状态监控。硬件上电复位:确保所有设备处于已知的良好状态。链路训练:主机和设备通过 LTSSM 协商链路速度和宽度。 阅读详情

相关推荐

ANSYS MAXWELL内置式永磁同步电机(IPMSM)转矩最大时输入电流相位的确定

1.在转子转速为零时看一个周期内的转矩变化

qq_41752507的博客 6517

JS中错误处理(1)

1)JavaScript中的Try…Catch 语句 使用try…catch语句可以测试一段代码是否出错。 ——————————————————————————- JavaScript - 出错捕捉 当浏览网页的时候,我们常常会见到一个JavaScript的警告窗口,告诉我们发生运行出错, 并提问你是否要“debug?”。 这种出错信息也许对开发者有用,但是对用户没有用处。 当用户看到这些错误时,...

weixin_30325971的博客 174

基于ROS下的安卓手机图像和IMU跑ORB-SLAM3

接之前文章继续,手上没有现成的单目+IMU硬件,但是安卓手机几乎人人都有。因此,本文讲下如何用手机跑ORB-SLAM3的Mono和Mono_Inertial。 1. 手机与PC通信 基于ROS下的信息发布和订阅,手机和PC在一个局域网下进行信息(image和IMU)传输。 手机APK参考了github上的2个开源Android_Camera-IMU和android_ros_sensors,基于ros_java生成安卓APP,下载安装任一个APP到安卓手机,界面分别是这样: 手机和PC连一个无

h_372101的博客 1万+

js收集错误信息,错误上报

线上的代码可有有时候用户会反应不好使,一般是因为js造成的! 尤其在移动端各个手机之前的差异特别大。 下面这段代码是获取能帮助你! <script> window.onerror = function(errorMsg, url, lineNumber) { //把下面的错误信息收集 var msg = 'ms...

a751532301的博客 555

JAVA + 海康威视SDK + FFmpeg+ SRS 实现海康威视摄像头二次开发

海康威视SDK接入方案摘要 本文介绍了使用海康威视官方SDK开发物联网平台摄像头接入功能的完整方案。系统采用Java后端集成HCNetSDK控制摄像头,通过FFmpeg将RTSP流转为RTMP推送到SRS流媒体服务器,前端基于HTTP-FLV协议实现视频播放。文章详细说明了开发准备工作,包括SDK下载、SRS部署、FFmpeg安装等关键步骤,并提供了数据库表设计和接口定义。核心部分展示了如何集成海康SDK,包括提取必要代码、加载DLL文件、配置打包插件等具体实现细节,最终形成了一套支持实时预览、回放和下载的

2401_83057947的博客 2263

【研路导航】重庆大学计算机保研面试真题分享交流

在保研的道路上,面试是非常重要的一环。轻保研提供了成功保研到重庆大学的学长的计算机保研面试的部分真题及详细解答!Q 快速排序和合并排序:快速排序(quicksort) 和合并排序(merge sort) 两种方法都将输入的待排序序列划分为2个子序列,并且递归地对所得的两个子序列分别排序。请阐述快速排序及合并排序两种算法之间的主要区别。

gradlight的博客 1588

js---异常处理、throw、Error、try...catch

【前言】 本文主要介绍下JS的Error name相关属性. 当 JS 引擎执行 JS代码时,会发生各种错误。 ①语法错误,通常是程序员造成的编码错误或错别字; ②拼写错误或语言中缺少的功能(可能由于浏览器差异); ③来自服务器或用户的错误输出而导致的错误; ④由于许多其他不可预知的因素; 当发生错误时,JS通常会停止并产生错误消息。技术术语是这样描述的:JavaScript 将抛出异常(抛出错误)。JS实际上会创建一个Error对象,该对象带有两个属性name和message。 【概念】 erro

muzidigbig的博客 6003

使用TEA5767和stm32制作一台数字FM收音机

本节我们来使用stm32控制一款集成收音机芯片TEA5767,来制作一台FM收音机。 TEA5767是一款低功耗立体声收音IC,接收频率76MHz~108MHz(适应日本/美国/欧洲各FM频段选择)并可以使用软件进行静音和消除噪音。 主要电性能指标:工作电压:2.5V~5.0V,工作电流10mA,立体声分离度30dB,信噪比60dB,输出信号电平75mV。支持I2C总线通信、3-wire总线。 1)硬件设计 TEA5767芯片外围需要搭配较多的电阻、电容、电感、晶振等器件,而且高频电路的PCB设

小白白学电子 1万+

Javascript中的Error 对象

JavaScript 拥有当错误发生时提供错误信息的内置 error 对象。error 对象提供两个有用的属性:name 和 message。 Error 对象属性 属性 描述 name 设置或返回错误名 message 设置或返回错误消息(一条字符串) Error对象的Name属性的值Values error 的 name 属性可返回六个不同的值: 错误名 描述 EvalError 已在 eval() 函数中发生的错误 RangeError 已发生超出数字范围的

Serena_tz的博客 864

uniapp - 超详细 H5 网页利用 uni.downloadFile 下载 URL 文件流并调用浏览器下载功能效果,前台通过请求后端接口获取文件并下载保存到本地(支持电脑PC与手机移动端H5)

uniapph5网页下载文件,uniapp网站下载文件流,uniapp的移动端h5实现接口url文件下载,uniapph5页面在浏览器中如何下载指定url文件流文件并保存到本地,uniapp移动端h5调用后端接口保存文件到本地,uniapph5通过下载后获得临时路径怎么让浏览器弹出下载,uniapp怎么请求接口下载到文件,得到Blob临时路径对象后如何下载到本地,浏览器怎么下载blob对象,uniapp二进制文件流下载,uniapph5中的文件流下载和指定的url下载详细教程,uniappapp移

🏆 前端领域优质创作者 1万+

【雷达】基于matlab合成孔径雷达干涉测量(InSAR)时序分析【含Matlab源码 9037期】

合成孔径雷达干涉测量(InSAR)时序分析 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 159

js的catch中throw error和throw new Error(msg)区别

了解js的catch中throw error和throw new Error(msg)区别

badbaby52906的博客 535

以 Cloud 为核心的设备 mTLS 证书体系:从产品需求到 OP-TEE 安全落地

本文探讨了以云端为核心的物联网设备mTLS证书体系构建方案。文章从产品需求出发,分析了云端必须采用mTLS+证书体系管理设备身份的原因,指出静态Token方案的三大缺陷:身份不可控、运营不可控和审计不可控。重点阐述了mTLS在产品中的核心功能是加密传输和双向认证,并详细列出了云端PKI、设备注册中心等必备组件。在设备侧,强调必须通过OP-TEE技术保护私钥安全,提出了一个包含密钥生成、CSR导出等功能的TA设计方案。最后,文章给出了云端端到端流程示例,说明如何将证书生命周期管理转化为可运营的产品能力,包括自

Interview_TC的博客 641

StackTrace.js: JavaScript 错误处理库

是一个轻量级的 JavaScript 库,用于在浏览器和 Node.js 环境中捕获、解析和打印堆栈跟踪信息。 ## 什么是 StackTrace.js? StackTrace.js 提供了一个简单的 API,可以帮助开发者获取更详细的错误堆栈跟踪信息。在传统的 JavaScript 错误处理中,堆栈跟踪通常只包含一个函数调用链的有限信息,而 StackTrace.js 可以帮助您获取更多的上下文

gitblog_00009的博客 1073

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

深入了解JS之Javascript错误处理

毋庸置疑的是,在程序设计中,错误处理是很重要的一个环节。不管水平多高的软件开发人员,都或多或少地难以避免写出逻辑不是特别严谨的代码。另一方面来说,当我们的写的代码中带有错误处理的逻辑时,当出现了错误时可以及时通知到用户,这会带来用户体验上的提升。作为开发人员,我们要知道如何处理Javascript错误。 try-catch语句 在Javascript中,通过try-catch语句来实现异常的处理。该语句作为标准的一部分,其语法规则如下: `try {` `.....` `} catch (error.

shandamengcheng的博客 352

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

JavaScript学习笔记——JS错误处理

JavaScript 错误 try 语句测试代码块的错误 catch 语句处理错误 throw 语句创建自定义错误 JavaScript抛出错误 当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息 描述这种情况的技术术语是:JavaScript 将抛出一个错误 JavaScript 测试和捕捉 try 语句允许我们定义在执行时进行错误测试的代码块 catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块 JavaScript 语句 try 和 catch

403 Forbidden 974

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

JavaScript 错误处理

错误类型:了解不同类型的错误,如语法错误、运行时错误、逻辑错误和类型错误。错误处理机制:掌握finallythrowError对象的使用。异步错误处理:学习如何处理 Promise 和asyncawait中的错误。错误日志:使用和自定义错误类记录和处理错误。错误处理最佳实践:捕获和处理特定错误、记录日志和优雅的失败处理。掌握这些错误处理技巧将帮助你编写更加健壮和可靠的代码。接下来,你可以学习调试技巧,了解如何有效地调试和排除代码中的问题。

疯狂假前端的博客 1427

html 中如何写js代码提示错误,javascript怎么进行错误处理?

在ES3之前js代码执行的过程中,一旦出现错误,整个js代码都会停止执行,这样就显的代码非常的不健壮。从ES3开始,js也提供了类似的错误处理机制,从而让js代码变的更健壮,及时执行的过程中出现了异常,也可以让程序具有了一部分的异常恢复能力。良好的错误处理机制可以让用户及时得到提醒,知道到底发生了什么事,因而不会惊慌失措。为此,作为开发人员,我们必须理解在处理JavaScript错误的时候,都有哪...

weixin_30253289的博客 804

html 中如何写js代码提示错误,javascript如何进行错误处理?

错误处理对于web应用程序开发至关重要,不能提前预测到可能发生的错误,不能提前采取恢复策略,可能导致较差的用户体验。由于任何javascript错误都可能导致网页无法使用,因此作为开发人员,必须要知道何时可能出错,为什么会出错,以及会出什么错。本文将详细介绍javascript中的错误处理机制。Error具有下面一些主要属性:description: 错误描述 (仅IE可用).fileName: ...

weixin_34830055的博客 668

JavaScript学习之this指向、js错误处理、继承

目录this指向this三种含义更改this指向错误处理错误处理方法练习继承定义语法练习 this指向 this三种含义 (1)构造函数中的this指的是新创建的对象 (2)普通函数中的this指向的是Window对象 (3)将函数作为对象的函数调用时this指向的是该对象 例如: function foo(){ return this; } //这是一个普通函数,这里的this代表的是Window var o={ name='Jim' func:foo } console.lo

星河梦~的博客 653

【JavaScript】错误处理与调试

throw new Error("除数不能为零");if (!throw new ValidationError("用户名不能为空");

Guiat的博客 917

彻底解决JavaScript精度灾难:bignumber.js错误处理全解与最佳实践

你是否曾遇到过`0.1 + 0.2 = 0.30000000000000004`这样的精度问题?在金融计算、科学数据处理等场景中,JavaScript原生Number类型的64位双精度浮点存储缺陷可能导致灾难性后果。本文将系统讲解如何使用[bignumber.js](https://link.gitcode.com/i/1b1f6d3f1e55a321117c285cdd487bc8)库彻底解决这

gitblog_00065的博客 1070

syntaxerror是什么错误_JavaScript 错误处理大全【建议收藏】

//每日前端夜话第391篇//正文共:6800字//预计阅读时间:17 分钟❝目录编程中有什么错误?JavaScript 中有什么错误?JavaScript 中的错误类型什么是异常?当抛出异常时会发生什么?同步错误处理常规函数的错误处理生成器函数的错误处理异步错误处理计时器错误处理事件的错误处理How about onerror?怎么处理 onerror?用 Promise 处...

weixin_39581318的博客 2707

JavaScript错误处理权威指南

本文将分三部分分析 JavaScript 中的错误,首先我们将了解错误的一般情况,之后,我们将关注后端(Node.js + Express.js),最后,我们将重点看下如何处理 React.js 中的错误。选择这些框架,是因为它们是目前最流行的,但是,你应该也能够将这些新发现应用到其他框架中吧! 继上一篇文章 (https://link.medium.com/MO32x55aNR) 之后,我...

weixin_42817899的博客 885

JavaScript中错误处理

JavaScript中错误处理 1 如何进行错误处理 2 错误对象的传递 3 抛出错误对象throw 4 错误类型

橘猫吃不胖的博客 439

JavaScript错误处理终极指南:Google JS规范的完整解决方案

JavaScript错误处理是每个开发者必须掌握的核心技能!无论你是新手还是经验丰富的开发者,掌握Google JavaScript风格指南中的错误处理最佳实践,都能让你的代码更加健壮、可维护。本文将为你提供完整的JavaScript错误处理解决方案,帮助你构建更可靠的应用程序。 ## 📋 为什么错误处理如此重要? 在JavaScript开发中,错误处理不仅仅是防止程序崩溃的手段,更是构建高

gitblog_01000的博客 433
上一篇: JavaScript toFixed() parseFloat() 函数
下一篇: b标签、Strong标签、h1标签的区别以及使用
msg_java2011
博客等级 码龄15年 18粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值