Nodejs处理异常操作示例


Posted in NodeJs onDecember 25, 2018

本文实例讲述了Nodejs处理异常操作。分享给大家供大家参考,具体如下:

Exception.js

module.exports = {
  expfun: function(flag) {
    if(flag == 0) {
      throw '我是error';
    }
    return "success";
  }
}

optfile.js

//-------------optfile.js-------------------------
var fs = require('fs');
module.exports = {
  readfile: function (path, recall) { //异步执行
    fs.readFile(path, function (err, data) {
      if (err) {
        console.log("异步执行error:" + err);
        recall("文件不存在,异步执行error:" + err);//异步处理异常
      } else {
        //console.log(data.toString());
        recall(data);
      }
    });
    console.log("===异步方法执行完毕===");
  },
  readImg: function (path, res) {
    fs.readFile(path, 'binary', function (err, filedata) {
      if (err) {
        console.log(err);
        return;
      } else {
        console.log("输出文件");
        res.write(filedata, 'binary');
        res.end();
      }
    });
  }
}

router.js

var optfile = require('../model/optfile2.js');
function getRecall(req, res) {
  res.writeHead(200, {
    'Content-Type': 'text/html; charset=utf-8'
  });
  function recall(data) {
    res.write(data);
    res.end(''); //不写则没有http协议尾
  }
  return recall;
}
module.exports = {
  login: function (req, res) {
    recall = getRecall(req, res);
    optfile.readfile('./view/login.html', recall);
  },
  showimg: function (req, res) {
    res.writeHead(200, {
      'Content-Type': 'image/jpeg'
    });
    optfile.readImg("./view/pig.png", res);
  }
}

//-------------n9_exception.js---------------
/*
同步的捕获&&异步的捕获
*/
var http = require('http');
var url = require('url');
var router = require('./model/router');
var exception = require('./model/Exception');
http.createServer(function (request, response) {
  if (request.url !== "/favicon.ico") { //清除第2此访问
    pathname = url.parse(request.url).pathname;
    pathname = pathname.replace(/\//, ''); //替换掉前面的/
    try {
      router[pathname](request, response);
      // data = exception.expfun(0);
      // response.write(data);
      // response.end('');
    } catch (err) {
      console.log('捕获到异常=' + err);
      response.writeHead(200, {
        'Content-Type': 'text/html; charset=utf-8'
      });
      response.write(err.toString());
      response.end('');
    }
    console.log("server执行完毕");
  }
}).listen(8000);
console.log('Server running at http://127.0.0.1:8000/');

希望本文所述对大家nodejs程序设计有所帮助。

NodeJs 相关文章推荐
NodeJS的模块写法入门(实例代码)
Mar 07 NodeJs
nodejs实现黑名单中间件设计
Jun 17 NodeJs
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
Sep 26 NodeJs
轻松创建nodejs服务器(7):阻塞操作的实现
Dec 18 NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 NodeJs
详解nodejs微信公众号开发——1.接入微信公众号
Apr 10 NodeJs
nodejs入门教程五:连接数据库的方法分析
Apr 24 NodeJs
Nodejs进阶:express+session实现简易登录身份认证
Apr 24 NodeJs
使用nodejs爬取前程无忧前端技能排行
May 06 NodeJs
nodejs更改项目端口号的方法
May 13 NodeJs
Nodejs把接收图片base64格式保存为文件存储到服务器上
Sep 26 NodeJs
M2实现Nodejs项目自动部署的方法步骤
May 05 NodeJs
Nodejs模块的调用操作实例分析
Dec 25 #NodeJs
nodejs中方法和模块用法示例
Dec 24 #NodeJs
Nodejs中获取当前函数被调用的行数及文件名详解
Dec 12 #NodeJs
nodejs图片处理工具gm用法小结
Dec 12 #NodeJs
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
Dec 06 #NodeJs
NodeJs实现简单的爬虫功能案例分析
Dec 05 #NodeJs
nodejs 使用 js 模块的方法实例详解
Dec 04 #NodeJs
You might like
PHP 手机归属地查询 api
2010/02/08 PHP
php银联网页支付实现方法
2015/03/04 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
JavaScript中document.forms[0]与getElementByName区别
2015/01/21 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
python实现简单爬虫功能的示例
2016/10/24 Python
python cumsum函数的具体使用
2019/07/29 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
Python多线程Threading、子线程与守护线程实例详解
2020/03/24 Python
django rest framework serializers序列化实例
2020/05/13 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
ProBikeKit英国:在线公路自行车之家
2017/02/10 全球购物
银行实习生的自我评价
2014/01/13 职场文书
食品安全工作实施方案
2014/03/26 职场文书
社会治安综合治理管理责任书
2014/04/16 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
求职自我评价参考范文
2019/05/16 职场文书
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers
SQL CASE 表达式的具体使用
2022/03/21 SQL Server