广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >总结Node.js中的一些错误类型
  • 487
分享到

总结Node.js中的一些错误类型

错误类型Node 2022-06-04 17:06:59 487人浏览 泡泡鱼
摘要

前言 node.js应用中可能会发生多种类型的错误。如:当出现语法错误或运行时错误时,会触发javascript错误;当试图试访问一个不存在或没有访问的文件时,会触发系统错误;除JavaScript错误和系

前言

node.js应用中可能会发生多种类型的错误。如:当出现语法错误或运行时错误时,会触发javascript错误;当试图试访问一个不存在或没有访问的文件时,会触发系统错误;除JavaScript错误和系统错误错误外,用户还可以自定义错误。

1. 错误分类

node.js是一个JavaScript运行时平台,其应用发生错误都是一个Error实例或Error子类的实例。

在Node.js应用中,可能发生的错误有以下4类:

1、标准JavaScript错误,如:

<EvalError> : 当调用 eval() 失败时抛出

<SyntaxError> : 当使用非法JavaScript语法时抛出

<RangeError> : 当一个值不在指定范围内时抛出

<ReferenceError> : 当使用未定义的变量时抛出

<TypeError> : 当传递错误的类型参数抛出

<URIError> : 当一个全局的URI函数被错误使用时抛出

2、系统错误,这类错误由底层系统触发,如试图打开不存在的文件,试图通过已关闭的Soket发送数据时等

3、自定义错误,这类错误在应用代码中由用户指定触发

4、断言错误,这类错误在代码违反合法逻辑时,由Node.js的assert模块触发

2. JavaScript错误与系统错误

2.1 JavaScript错误及自定义错误

标准JavaScript错误是由JavaScript语言提供的,表示语法错误或使用不当的api。所有错误都是一个Error类实例,而标准JavaScript错误会由语言本身在发生错误时构建。

自定义错误时,使用构造函数创建实例即可:


> throw new Error('出错了,这是错误信息');
Error: 出错了,这是错误信息
  at repl:1:7
  at REPLServer.defaultEval (repl.js:248:27)
  at bound (domain.js:280:14)
  at REPLServer.runBound [as eval] (domain.js:293:12)
  at REPLServer.<anonymous> (repl.js:412:12)
  at emitOne (events.js:82:20)
  at REPLServer.emit (events.js:169:7)
  at REPLServer.Interface._onLine (readline.js:210:10)
  at REPLServer.Interface._line (readline.js:549:8)
  at REPLServer.Interface._ttyWrite (readline.js:826:14)

如上,我们自定义了一个错误,并使用throw关键字将错误抛出。在这个错误对象中,包括错误信息message和错误的堆栈信息stack,在异常捕获后,可以通过以下两个属性来访问这些信息:

1、error.message - 错误信息

2、error.stack - 错误堆栈追踪信息

除Error实例本身的属性外,还可自定义一些错误属性。如,自定义一个表示状态的属性status:


var error = new Error('您访问的页面不存在');
error.status = 404;

2.2 系统错误

系统错误是对JavaScript错误Error对象的一个扩展,它们表示程序能够处理的操作错误,这些错误信息都是在系统级别生成的。系统错误实例中除Error实例中的属性外,还包括以下几个属性:

1、error.syscall - 一个表示失败的系统调用信息的字符串

2、error.errno - 一个整数的错误码

3、error.code - 表示错误字符串,通常是大写字母E开头

3. 异常捕获

Node.js采用事件驱动、异步编程基制,这意味着try / catch捕获不到异步处理发生的错误。针对这种情况,我们可以使用以下两种方式来捕获或传递错误:

Node.js式回调函数中的异常捕获

Node.js有很多异步API,这些API通过回调函数callback进行后续处理。如果发生错误,通常会在callback函数的第一个参数中包含一个Error对象;如果未发生错误,第一参数将是null。如:


const fs = require('fs');
fs.readFile('一个不存在的文件', (err, data) => {
 if (err) {
  console.error('读取文件错误', err);
  return;
 }
 // 其它处理
});

基于事件的错误处理

如果对象是一个EventEmitter,可以通过对象 的'error'事件捕获并处理错误:


const net = require('net');
const connection = net.connect('localhost');

// 为stream添加一个 'error' 事件处理器:
connection.on('error', (err) => {
 // 如果连接被服务器重置或连接不到指定的服务器
 // 或其它连接错误时,错误会被传递到这里
 console.error(err);
});

connection.pipe(process.stdout);

总结

以上就是关于Node.js中的一些错误类型的总结,能够理解Node.js中错误类型,就可以帮我们更好的进行错误处理和异常捕获。希望本文的内容对大家能有所帮助。

--结束END--

本文标题: 总结Node.js中的一些错误类型

本文链接: https://www.lsjlt.com/news/12984.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 总结Node.js中的一些错误类型
    前言 Node.js应用中可能会发生多种类型的错误。如:当出现语法错误或运行时错误时,会触发JavaScript错误;当试图试访问一个不存在或没有访问的文件时,会触发系统错误;除JavaScript错误和系...
    99+
    2022-06-04
    错误 类型 Node
  • PHP中最低级别的错误类型总结
    序言:php错误就是会使脚本运行不正常的情况。 php的错误有很多种,包括warning、notice、deprecated、fetal error等。其中notice不叫通知,而叫通知级别的错误,warning也不叫警告,而叫警告级别的错...
    99+
    2019-07-10
    PHP 低级错误
  • 总结一些html开发中常见的错误
    很多人都曾经遇到过编写网页时出现HTML代码错误的情况,这种错误如果不及时处理,会导致网页无法正常显示或出现其它问题,给用户带来不良体验。因此,在编写HTML代码时,我们需要注意一些常见的错误,并及时进行修复。首先,常见的HTML代码错误包...
    99+
    2023-05-14
  • PHP中常见错误类型及其解决方法【总结】
    PHP是一门广泛应用于Web开发、服务器脚本编程的编程语言,具有易学易用、扩展性强、高效稳定等优点。但是在PHP开发过程中,程序员难免会遇到各种各样的错误,下面我们来看一下PHP中常见的错误类型及其解决方法。1. 语法错误语法错误是最常见的...
    99+
    2023-05-14
    php
  • 总结PHP的一些常见错误和提示信息
    PHP是广泛使用的语言,许多网站和应用程序都使用它来实现功能和交互性。然而,PHP作为一种解释性语言,在代码编写和运行时会面临各种问题,特别是错误和异常的情况。在本文中,我们将介绍PHP的一些常见错误和提示信息,并提供关于如何解决这些问题的...
    99+
    2023-05-14
  • JavaScript中的错误类型有哪些
    小编给大家分享一下JavaScript中的错误类型有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
  • 那些项目中常见的TypeScript错误总结
    目录引言1.TS24562.TS25543.TS11694.TS23455.TS25896.TS2322总结引言 TypeScript 错误信息由错误码和详细信息组成。例如:TS24...
    99+
    2022-11-13
  • Rust中的关联类型总结
    目录1. 关联类型简介2. 关联类型与泛型的区别3. 关联类型的定义语法4. 关联类型的使用场景5. 关联类型与 trait 的配合使用6. 关联类型的优点1. 关联类型简介 关联类...
    99+
    2023-05-18
    Rust关联类型 Rust关联
  • javascript的错误类型有哪些
    这篇文章主要介绍“javascript的错误类型有哪些”,在日常操作中,相信很多人在javascript的错误类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java...
    99+
    2022-10-19
  • JavaScript 中的错误对象类型有哪些
    这期内容当中小编将会给大家带来有关JavaScript 中的错误对象类型有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。属性Error 对象具有2个属性:(1) na...
    99+
    2022-10-19
  • Js中的常见错误类型有哪些
    本篇内容主要讲解“Js中的常见错误类型有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Js中的常见错误类型有哪些”吧!JavaScript中的错误类型ErrorEvalErrorRangeE...
    99+
    2023-06-29
  • JavaScript中有哪些原生错误类型
    JavaScript中有哪些原生错误类型?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JavaScript的作用是什么1、能够嵌入动态文本于HTML页面。2、对...
    99+
    2023-06-14
  • php中的标量数据类型总结
    PHP 的数据类型可以分为三大类,分别是标量数据类型、复合数据类型和特殊数据类型。 其中,标量数据类型是数据结构的最基础单元,只能存储一个数据。在 PHP 中的标量数据类型分为四种,如下表所示: 类型 功能 boolean(布尔型) 最简单...
    99+
    2016-10-26
    php 标量数据类型
  • java中引用类型的用法总结
    一、class作为成员变量在定义一个类Role(游戏角色)时,代码如下:使用 int 类型表示角色id和生命值,使用String类型表示姓名。此时,String 本身就是引用类型,由于使用的方式类似常量,所以往往忽略了它是引用类型的存在。如...
    99+
    2016-05-29
    java 引用类型 用法
  • Typescript中的数据类型实例总结
    目录是什么有哪些booleannumberstringarraytupleenumanynull和undefinedvoidneverobject总结是什么 typescript和j...
    99+
    2022-11-13
  • JavaScript的原生错误类型有哪些
    这篇文章给大家介绍JavaScript的原生错误类型有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。从浏览器控制台到运行 Node.js 的终端,我们...
    99+
    2022-10-19
  • JavaScript中的六种错误类型
    刚入前端坑,英语又不太好的同学,是不是还在为控制台的错误抓耳挠腮?今天就带大家看一看javaScript中常见的错误类型。1. SyntaxError:语法错误// 1. Syntax Error: 语法错误// 1.1 变量名不符合规范v...
    99+
    2023-06-03
  • Java中引用类型class的用法总结
    目录class作为成员变量角色类武器类铠甲类角色增强类测试类实际的开发中,引用类型的使用非常重要,也是非常普遍的。我们可以在理解基本类型的使用方式基础上,进一步去掌握引用类型的使用方...
    99+
    2022-11-13
    Java引用类型class Java引用 class Java class
  • PHP中最低级别的错误类型有哪些
    本篇内容主要讲解“PHP中最低级别的错误类型有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中最低级别的错误类型有哪些”吧!序言:php错误就是会使脚本运行不正常的情况。php的错误有...
    99+
    2023-06-22
  • 讨论Golang中的一些典型的内存错误
    Golang作为一门现代化的编程语言,其在内存管理方面拥有着出色的表现,但是即便如此,在使用过程中仍然难免会出现一些内存方面的错误。在本篇文章中,我们将讨论Golang中的一些典型的内存错误,以及解决这些问题的方法。内存泄漏内存泄漏是一种典...
    99+
    2023-05-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作