Advanced Error Handling in Node.js: Best Practices and Techniques