js中常见的error类型和error处理

1.错误类型

Error:所有错误的父类型

ReferenceError:引用的变量不存在

/* ReferenceError:引用的变量不存在 */
console.log(a);//ReferenceError: a is not defined
console.log("出错之后");//没有输出

注意:如果代码出现报错,后面的程序不会继续执行。如果没有得到预期的结果时,注意查看此前是否报错。如果想出现报错后,依旧继续执行程序,可以参考下面捕获错误代码。

TypeError:数据类型错误

/* TypeError:数据类型不正确的错误 */
let b = null;
console.log(b.xxx);//当b为null不具备可以.属性或功能 TypeError: Cannot read properties of null (reading 'xxx')

let b = {};
console.log(b.xxx);//当b为对象时,只要.了,那么这个对象就有了这个属性,只是没有赋初始值,所以结果为undefined
b.xxx();//这里b.xxx()不是一个函数,函数才可以调用。TypeError: b.xxx is not a function
let d = 3;
console.log(d.xxx);//undefined

//Number(Boolean,String)是内置对象 上面的代码在执行的时候会自动译为下面的代码
let d = new Number(3);//此时d是Number的实例对象
console.log(b.xxx);//new Number(3).xxx 结果为undefined

RangeError:数据值不在其所允许饿范围内

/* RangeError:数据值不在其所允许的范围内 */
function fn(){//无限递归
	fn();
};
fn();//RangeError: Maximum call stack size exceeded
//递归一般都要有条件,用来控制执行的次数,上面的是无限递归,超出了最大范围

SyntaxError:语法错误

/* SyntaxError:语法错误 */
const c = """";//SyntaxError: Unexpected string

2.错误处理的两种方式

捕获错误:try...catch

抛出错误:throw error

3.错误对象

message属性:错误相关信息

stack属性:函数调用栈记录信息

/* 捕获error */
try {
	//可能出现错误的代码
	const e = {};
	e();
} catch (error) {
	//捕获打印错误信息
	console.log(error.message);
	console.log(error.stack);
};
//继续执行程序
console.log("------");

/* 抛出error */
function doThing() {//当前时间如果为奇数就能正常干活,否则不能干
    const time = Date.now();
    if (time % 2 == 1) {
        console.log("当前时间为奇数,可以正常工作...");
    } else {//不能干活,得告诉调用者
        throw new Error("当前时间为偶数,干不了" + time);//抛出错误
    };
};
try {
    doThing();
} catch (error) {
    alert(error.message);
};

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以在 nuxt.config.js 配置 error 属性来设置服务端错误页面。例如: ``` module.exports = { // ... error: { statusCode: 500, message: '服务器出错了,请稍后再试!' } } ``` 其,statusCode 表示 HTTP 状态码,message 表示错误信息。你可以根据自己的需求来设置。 ### 回答2: 要配置 Nuxt.js 的服务端错误页面,需要按照以下步骤进行操作: 1. 首先,打开 Nuxt.js 项目的 `nuxt.config.js` 文件。 2. 在该文件,找到 `router` 配置项,并修改它。例如,将其改为如下代码: ``` router: { middleware: ['error'] } ``` 这样可以指定一个间件(在此例为名为 "error" 的间件)来处理错误页面。 3. 在项目根目录下创建一个新的文件夹,并命名为 `middleware`。进入该文件夹,并新建一个名为 `error.js` 的文件。 4. 在 `error.js` 文件,可以定义自定义的错误处理逻辑。以下是一个简单的例子: ```javascript export default function (context) { const { res, error } = context res.statusCode = error.statusCode || 500 res.end('服务器错误') } ``` 上述代码,我们根据错误的状态码(`statusCode`)来设置响应的状态码,并通过 `res.end()` 方法返回自定义的错误信息。 5. 最后,在 `nuxt.config.js` 文件,可以使用 `modules` 配置项来添加一些 Nuxt.js 的扩展模块,以实现更高级的错误页面定制。例如,安装并添加 `@nuxtjs/axios` 模块,可以在项目使用更丰富的错误页面定制功能。 总之,通过按照上述步骤配置 Nuxt.js 的服务端错误页面,可以根据自己的需求定制并展示合适的错误信息。 ### 回答3: 在Nuxt.js配置服务端的错误页面可以通过自定义错误页面、间件以及服务器选项来实现。 1. 自定义错误页面: 首先,可以在Nuxt.js项目的根目录下创建一个`layouts`文件夹,并在该文件夹下创建一个`error.vue`文件。这个文件将作为错误页面的模板。在`error.vue`可以自定义错误页面的样式和内容,例如可以显示错误的类型和具体的错误信息。 2. 间件: Nuxt.js提供了间件机制,通过使用间件可以在服务端对错误进行处理和控制。可以在项目的根目录下创建一个`middleware`文件夹,并在该文件夹下创建一个`error.js`文件。在`error.js`可以编写错误处理的逻辑,例如可以根据错误的状态码来进行特定的处理。 3. 服务器选项: Nuxt.js的`nuxt.config.js`文件可以配置服务器的选项。可以在该文件添加`server`选项来配置服务端的错误页面。例如可以设置`error`属性来指定自定义的错误页面的路径。 示例: ```js // nuxt.config.js module.exports = { server: { error: '~/layouts/error.vue' } } ``` 通过以上的配置,当服务端报错时,Nuxt.js会使用自定义的错误页面进行展示。 总结:Nuxt.js配置服务端错误页面,可以通过自定义错误页面、间件以及服务器选项来实现。这样可以将错误信息展示给用户,并且可以根据需要进行特定的错误处理

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值