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中Express的中间件
May 19 NodeJs
nodejs 图解express+supervisor+ejs的用法(推荐)
Sep 08 NodeJs
NodeJS实现视频转码的示例代码
Nov 18 NodeJs
使用nodeJs来安装less及编译less文件为css文件的方法
Nov 20 NodeJs
nodejs实现一个word文档解析器思路详解
Aug 14 NodeJs
Nodejs调用Dll模块的方法
Sep 17 NodeJs
nodejs实现范围请求的实现代码
Oct 12 NodeJs
详解nodejs 配置文件处理方案
Jan 02 NodeJs
nodejs实现的http、https 请求封装操作示例
Feb 06 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 NodeJs
nodeJS与MySQL实现分页数据以及倒序数据
Jun 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 register_globals 值为on与off的理解
2013/09/26 PHP
PHP中常用的转义函数
2014/02/28 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
PHP 500报错的快速解决方法
2016/12/14 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
JSON 教程 json入门学习笔记
2020/09/22 Javascript
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
jQuery中size()方法用法实例
2014/12/27 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
浅入深出Vue之自动化路由
2019/08/06 Javascript
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
Keras中 ImageDataGenerator函数的参数用法
2020/07/03 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
python工具——Mimesis的简单使用教程
2021/01/16 Python
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
大众服装店创业计划书范文
2014/01/01 职场文书
幼儿园秋游活动方案
2014/01/21 职场文书
个人能力自我鉴赏
2014/01/25 职场文书
消防安全管理制度
2014/02/01 职场文书
党校培训自我鉴定范文
2014/04/10 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
2014年新教师工作总结
2014/11/08 职场文书
安全教育主题班会教案
2015/08/12 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS