首页 > 编程语言 >JavaScript学习笔记:客户端编程之异常处理

JavaScript学习笔记:客户端编程之异常处理

时间:2023-06-10 23:00:29浏览次数:62  
标签:编程 对象 捕获 JavaScript 处理 Promise 异常 客户端

未被捕获的异常

在程序中,往往会出现异常。虽然主动捕获这些异常是保证程序健壮的必要做法,但是难免会漏掉一些。
对于未被捕获的异常,浏览器会在控制台显示一条错误信息,该信息包含异常信息和其在代码中出现的位置。

window.onerror

Window对象有一个onerror属性,将其指定为一个函数,可以处理未被捕获的异常。
在未被捕获的异常沿着调用栈一路向上传播,错误信息即将显示到控制台时,该函数会被调用。
它被传入多个参数:

  • message: 描述异常的信息
  • url: 导致异常的JavaScript代码的URL
  • line: 文档中发生异常的代码的行数
  • column: 文档中发生异常的代码的列数
  • error: 异常对象本身

未被处理的Promise reject

若Promise对象调用了reject,但未使用catch方法处理的情况与为被捕获的异常十分类似,浏览器会在控制台抛出被拒绝的Promise对象与拒绝理由。

window.onunhandlerejection 与 unhandledrejection 事件

通过为Window对象指定onunhandlerejection属性或注册unhandledrejection事件监听器,来处理没有reject处理器的Promise对象。
该事件处理器函数接受的Event对象参数有两个有用的属性:

  • promise: 指向未被处理的Promise对象
  • reason: 拒绝Peomise的原因

标签:编程,对象,捕获,JavaScript,处理,Promise,异常,客户端
From: https://www.cnblogs.com/chaihuibin/p/17472147.html

相关文章

  • 实验7 文件应用编程
    task1#include<stdio.h>#defineN7#defineM80typedefstruct{charname[M];//书名charauthor[M];//作者}BOOK;intmain(){BOOKx[N]={{"《雕塑家》","斯科特·麦克劳德"},{"《灯塔》","克里斯多夫·夏布特&......
  • 实验六 turtle绘图与python库应用编程体验
    task1_1实验源码:fromturtleimport*defmove(x,y):'''画笔移动到坐标(x,y)处'''penup()goto(x,y)pendown()defdraw(n,size=100):'''绘制边长为size的正n变形'''foriinrange(n):......
  • 网站加速,AdapterMan 是基于 Workerman 的高性能 PHP 异步网络编程框架,可以用于加速任
    AdapterMan是基于Workerman的高性能PHP异步网络编程框架,可以用于加速任意项目。下面是使用AdapterMan进行加速的详细步骤:1.安装AdapterMan:composerrequireadapterman/adapterman 2.创建一个PHP文件,例如`index.php`,并编写以下代码:require_once__DIR__.......
  • Java编程技巧-定义集合常量、定义数组常量的最佳方式
    场景Java中定义集合常量的最佳方式在编码中,经常使用到各种集合常量,比如List(列表)常量、Set(集合)常量、Map(映射)常量等。普通方式一般这样写:publicstaticfinalList<Integer>CONST_VALUE_LIST=Arrays.asList(1,2,3);publicstaticfinalSet<Integer>CONST_VALUE......
  • Python概率编程库PyMC应用案例二则
    这是受国防科大刘万伟老师委托发的概率编程方面的内容,这方面我不懂,为了避免解释错了,我就直接把刘老师的PPT资料截图发了。代码执行结果为:0.236对于上面这个例子(均匀分布的情况),当然可以通过计算图条形区域面积所占的比例获得精确的概率。然而,当分布函数发生变化时(比如,取正态分布),计......
  • Python多线程编程的一个掉进去不太容易爬出来的坑
    原文复制过来很多图片不能显示,发个链接吧。是使用Python+Socket编程模拟FTP工作原理的代码,多线程会引入一个坑,使用多进程不存在这个问题。原文地址 ......
  • 警惕Python编程中异常处理结构可能的坑
    所谓异常,主要是指由于测试不充分导致在实际运行时遇到意料之外的错误而引发的代码崩溃。例如让用户输入两个数然后输出两个数的商,结果用户把除数输入为0。例如让用户输入文件名然后程序输出其中的内容,结果用户输入的文件名不存在。例如网络临时发生故障导致无法连接服务器。这样的......
  • 1000道Python题库系列分享21(11道编程题:内置函数专项练习)
    本期题目,答案在文末:参考代码:......
  • Python编程常见问题与解答
    1.问:Python代码运行速度和C语言相比,哪个更快?答:一般来说,Python代码的运行速度比C语言的慢很多,但是如果充分运用内置函数、标准库对象和函数式编程模式的话,运行速度会提高很多,可以接近C语言。2.问:学习Python编程,用哪个开发环境更好一些呢?答:目前来看,Anaconda3和PyCharm用的相对来说多......
  • C++的多线程编程(练习一下condition_variable)
        嗯,高考结束了,那就编写一个阅卷和查成绩的多线程吧。一个线程老师阅卷,其他三个线程查成绩。代码如下:    1#include<iostream>2#include<thread>3#include<mutex>4#include<condition_variable>5#include<chrono>6#include<futu......