ご覧いただきありがとうございます。
node.js×Expressでローカルでサーバーを構築しています。
エラー処理についてお伺いしたいのですが、
node.jsでは例外発生時に、例外処理を記述しないとサーバーが落ちてしまうと色々なサイトで知りました。
javascript
1//app.js 2var IndexPage = require('./routes/index.js'); 3var dbSettings = require(__dirname+'/settings/mongo_setting.js'); 4 5 6process.on('uncaughtException', function (err) { 7 console.log('uncaughtException => ' + err); 8}); 9 10app.get('/',IndexPage.index);
javascript
1//index.js 2var MongoClient = require('mongodb').MongoClient; 3var dbSettings = require('../settings/mongo_setting.js'); 4 5exports.index = function(req,res){ 6 MongoCliant.connect(dbSettings.dbUrl,(err,database)=>{ 7 try{ 8 const myDB = database.db(dbSettings.dbName); 9 //以下I/O処理 10 }catch(e){ 11 console.log(e); 12 res.render('../views/Erro.ejs'); 13 }; 14 }); 15};
javascript
1//mongo_settings.js 2exports.dbUrl = "mongodb://localhost"; 3exports.dbName = "test";
I/O処理に負荷をかけた際に起きるエラーが
TypeError: Cannot read property 'db' of nullと表示されます。
trycatchでログを残して、エラーページに飛ばせてはいるのですが、その後アクセスしてもエラーページしか表示されず、ログには同じエラーが表示されています。
エラーを放置せずにtrycatchで受けてあげればサーバーは落ちないというのを教本で読み試してみました。
確かに、サーバー自体は落ちていないのですが、ページをリロードしてもエラーページが表示されたままです。
エラー処理の方法を大きく勘違いしているような気がしてなりません。
もしよろしければ教えていただければ幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/06/12 04:46
2018/06/12 07:17
退会済みユーザー
2018/06/12 09:22