Chapter 10. Errors and Testing
To write code is to write errors. Often, an error can be anticipated. Risky activities include actions that interact with outside resources (like files, databases, or web server APIs). Information that comes from outside your codeâwhether youâre reading it from a web page form or receiving it from another libraryâmay arrive with errors, or in a different form than you expect. But to modify a well-worn cliché, itâs not so much the error as what you do with it that matters.
What should we do with our errors, then? JavaScriptâs default behavior is to die at the point of the error, quietly logging a stack trace to the console. However, better options are available. You can capture an error, react to it, modify it, rethrow it, and even hide it if you choose. Compared to many other languages, JavaScriptâs error-handling features are relatively underdeveloped. But basic error handling is still just as important, and many of the recipes in this chapter focus on that task.
Defending against errors is essential practice, but itâs equally important to prevent them wherever possible. To that end, there are many testing frameworks that work with JavaScript, including Jest, Mocha, Jasmine, and Karma. With their help, you can write unit tests that guarantee your code is executing as expected. Youâll take a quick look at Jest in this chapter.
Catching and Neutralizing an Error
Problem
You are performing a task that may not succeed, and you donât ...
Get JavaScript Cookbook, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.