nodejs 错误处理

发布于:2025-08-18 ⋅ 阅读:(17) ⋅ 点赞:(0)

//导入模块
const express = require(‘express’);
//创建应用
const app = express();
app.get(‘/’,(req,resp)=>{
if (!req.query.name) {
throw new Error(“缺少name参数”);
}
resp.end(‘ok’);
});

app.listen(8080,()=>{
console.log(‘listening on 8080’);
});

异步错误处理: 发生在异步调用过程中,通过next(err) 才能捕获异常信息

//导入模块
const express = require('express');
const fs = require('fs');
//创建应用
const app = express();
app.get('/',(req,resp,next)=>{
    fs.readFile('', { encoding: 'utf8' }, (error,data) => { 
        if (error) { 
            next(error);  //异步错误处理
            return;
        }
        resp.end(data);
    });
    resp.end('ok');
});

app.listen(8080,()=>{
    console.log('listening on 8080');
});

自定义错误处理函数

//导入模块
const { error } = require('console');
const express = require('express');
const fs = require('fs');
//创建应用
const app = express();

app.get('/',(req,resp,next)=>{
    throw new Error("发生错误");
});

app.use((error, req, resp, next) => { 
    resp.json({
        path: req.path,
        message: error.message
    });
});

app.listen(8080,()=>{
    console.log('listening on 8080');
});

多个错误处理函数

//导入模块
const { error } = require('console');
const express = require('express');
const fs = require('fs');
//创建应用
const app = express();

app.get('/',(req,resp,next)=>{
    throw new Error("发生错误");
});

app.get('/',(req,resp,next)=>{
    fs.readFile('', { encoding: 'utf8' }, (error,data) => { 
        if (error) { 
            next(error);  //异步错误处理
            return;
        }
        resp.end(data);
    });
    resp.end('ok');
});
app.use((error, req, resp, next) => { 
    resp.json({
        path: req.path,
        message: error.message
    });
});

app.listen(8080,()=>{
    console.log('listening on 8080');
});

网站公告

今日签到

点亮在社区的每一天
去签到