1. Can I suppress JavaScript error messages?

2. Can I set up my own JavaScript error handler?

3. Can I change the active JavaScript error handler? (Demo)

Question: Can I suppress JavaScript error messages?

Answer: Yes – although usually it is not a good design decision to do so. (Normally, you are much better off fixing the errors, rather than just suppressing the error messages.)

To suppress all JavaScript error messages on your HTML page, you can put the following script code in the <HEAD> section of your page:

<SCRIPT language="JavaScript">
<!--
function silentErrorHandler() {return true;}
window.οnerrοr=silentErrorHandler;
//-->
</SCRIPT>

Or you can use a similar code fragment (without the SCRIPT tags) in an included .js file, if you have one. For a working code example, see this error handling demo!

Question: Can I set up my own JavaScript error handler?

Answer: Yes. To define your own error handler, use this JavaScript code:

function handlerFunction(description,page,line) {// put error-handling operators herereturn true;
}
window.οnerrοr=handlerFunction;

Your error handler function can optionally use the following parameters:

  • a textual description of the error
  • the address (URL) of the page on which the error occurred
  • the number of the line in which the error occurred

The error handler function must return false if you wish to invoke the browser's default error handler after your own handler finishes. If you don't want to invoke the browser's default handler, your handler function must return true. For an additional code example, check out this error handling demo!

Question: Can I dynamically change the JavaScript error handler?

Answer: Yes. To change the JavaScript error handler, just setwindow.onerror to the name of the function that will serve as your new error handler.

Here's a demo that lets you test three different error handlers:

  • the browser's default error handler
  • an error handler that displays a customized alert box
  • a "silent" error handler that suppresses all error messages.  Custom Error Handler Silent Error Handler Default Error Handler  
    1. Use the select box to set or change the error handler.
    2. Click Fire an Error to test the active error handler.

    Below is the source code of the error handling functions used in this demo:

    function defaultHandler() {return false}
    function silentHandler()  {return true}
    function customHandler(desc,page,line,chr)  {alert('JavaScript error occurred! \n'+'The error was handled by '+'a customized error handler.\n'+'\nError description: \t'+desc+'\nPage address:      \t'+page+'\nLine number:       \t'+line)return true
    }

转载于:https://www.cnblogs.com/oxspirt/p/6700974.html

js中的自定义异常处理函数相关推荐

  1. main.js中封装全局登录函数

    main.js中封装全局登录函数 1. 在 main.js 中封装全局登录函数 通过 vue 对象的原型扩展,可以扩展一个函数,这样这个函数就可以在 每一个界面通过类似指向对象的方式,去访问这个函数. ...

  2. ThinkPHP6项目基操(13.实战部分 项目中的自定义异常处理总结 错误页面API错误)

    项目中的自定义异常处理总结 错误页面&API错误 前言 一.异常分类 1. 控制器找不到 2. 方法找不到 3. 请求资源不存在 4. 系统內部异常.HTTP异常等 二.异常处理 1. 前置处 ...

  3. js中(function(){…})()立即执行函数写法理解

    js中(function(){-})()立即执行函数写法理解 javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法 ...

  4. js中自己实现bind函数的方式

    前言 最近由于工作比较忙,好久都没时间静下心来研究一些东西了.今天在研究 call 和 apply 的区别的时候,看到 github 上面的一篇文章,看完以后,感觉启发很大. 文章链接为 https: ...

  5. js中构造函数与普通函数的区别

    构造函数不仅只出现在JavaScript中,它同样存在于很多主流的程序语言里,比如c++.Java.PHP等等.与这些主流程序语言一样,构造函数在js中的作业一样,也是用来创建对象时初始化对象,并且总 ...

  6. 【转载】JS中bind方法与函数柯里化

    原生bind方法 不同于jQuery中的bind方法只是简单的绑定事件函数,原生js中bind()方法略复杂,该方法上在ES5中被引入,大概就是IE9+等现代浏览器都支持了(有关ES5各项特性的支持情 ...

  7. js中的对象、函数定义以及形参和实参

    一.对象属性的两种写法 1.点语法 点语法的属性值不加双引号,运用时不能使用变量 2.中括号的写法 (1)中括号写法obj["key"]=value;必须有双引号,原因是在key这 ...

  8. Vue.js中的自定义指令directives

    除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令.自定义指令,需要声明钩子函数.注册自定义指令也分为注册全局自定义指令和注册局部自定义指令.两者用法相同, ...

  9. python中使用函数的优点_在python中使用自定义初始化函数而不是`__init__`的好处...

    野外的一些API(例如setuptools内部)有类似的东西,他们使用它们的优势. __init__调用可以用于低级内部API,而公共构造函数被定义为类方法,用于构造对象的不同方式.例如,在 pkg_ ...

最新文章

  1. Cannot check for MySQL Daemon startup because of mysqladmin failure
  2. 标题:a 和 a的区别
  3. 小白也可以玩转的炫酷大屏!
  4. 检查服务器端口占用情况命令
  5. 手机抓包HTTPS (Fiddler Packet Capture)
  6. 一文带你彻底了解大数据处理引擎Flink内存管理
  7. Sql Server查询性能优化之走出索引的误区
  8. SQLCLR(一)入门
  9. 安徽蚌埠市国家计算机等级考试官网,2019年下半年安徽省蚌埠市全国计算机等级考试费用...
  10. 阿里云 DTS 实践
  11. 与组合数有关的一些求和公式
  12. jdk7下载、安装与测试
  13. 第二篇数模论文——垂钓问题
  14. Gazebo物理仿真环境搭建 实例
  15. ZUCC 正方教务系统 抢课脚本 抢课流程实现
  16. UML建模——活动图(Activity Diagram)
  17. Proteus仿真工程文件打不开
  18. python后端学习(五)迭代器、生成器、协程
  19. 猴子搬香蕉Java实现,儿童编程游戏CodeMonkey,让你的小猴子不停地吃香蕉
  20. 职业生涯规划计算机专业中职生3000字,计算机专业职业生涯规划书范文格式3000字...

热门文章

  1. ubuntu中安装wmware-tools
  2. 【MFC】根据菜单创建工具栏
  3. 【ARM】Tiny4412裸板编程之静态库(libc.a)
  4. 【ARM】协处理器指令
  5. 【ARM】数据操作指令(上)
  6. 【Linux】一步一步学Linux——sshd命令(177)
  7. 51nod 1536不一样的猜数游戏 思路:O(n)素数筛选法。同Codeforces 576A Vasya and Petya‘s Game。
  8. 每日温度—leetcode739
  9. 获取ntoskrnl的基址
  10. C/C++:程序的内存分配方式