The accepted solution did not work for me on nodejs 0.8.22 and express 3.1.0.
This did the trick:
process.on('uncaughtException', function(err) {
if(err.errno === 'EADDRINUSE')
console.log(...);
else
console.log(err);
process.exit(1);
});
Also see Node.js Express app handle startup errors