Added error handling middleware that catches all errors. Also added 500.jade template for a user-friendly error template.

This commit is contained in:
Sahat Yalkabov
2013-12-19 13:53:00 -05:00
parent 11e8385b77
commit b4f1df3d18
2 changed files with 52 additions and 0 deletions

5
app.js
View File

@ -43,6 +43,11 @@ app.use(function(req, res) {
res.status(404);
res.render('404');
});
app.use(function(err, req, res, next){
console.error(err.stack);
res.status(500);
res.render('500');
});
// Development only
if ('development' === app.get('env')) {

47
views/500.jade Normal file
View File

@ -0,0 +1,47 @@
doctype 5
html
head
title We're sorry, but something went wrong (500)
style.
body {
background-color: #EFEFEF;
color: #2E2F30;
text-align: center;
font-family: arial, sans-serif;
}
div.dialog {
width: 25em;
margin: 4em auto 0 auto;
border: 1px solid #CCC;
border-right-color: #999;
border-left-color: #999;
border-bottom-color: #BBB;
border-top: #B00100 solid 4px;
border-top-left-radius: 9px;
border-top-right-radius: 9px;
background-color: white;
padding: 7px 4em 0 4em;
}
h1 {
font-size: 100%;
color: #730E15;
line-height: 1.5em;
}
body > p {
width: 33em;
margin: 0 auto 1em;
padding: 1em 0;
background-color: #F7F7F7;
border: 1px solid #CCC;
border-right-color: #999;
border-bottom-color: #999;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-top-color: #DADADA;
color: #666;
box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
}
body
.dialog
h1 We're sorry, but something went wrong.
p If you are the application owner check the logs for more information.