Book Image

The Java Workshop

By : David Cuartielles, Andreas Göransson, Eric Foster-Johnson
Book Image

The Java Workshop

By: David Cuartielles, Andreas Göransson, Eric Foster-Johnson

Overview of this book

Java is a versatile, popular programming language used across a wide range of industries. Learning how to write effective Java code can take your career to the next level, and The Java Workshop will help you do just that. This book is designed to take the pain out of Java coding and teach you everything you need to know to be productive in building real-world software. The Workshop starts by showing you how to use classes, methods, and the built-in Collections API to manipulate data structures effortlessly. You’ll dive right into learning about object-oriented programming by creating classes and interfaces and making use of inheritance and polymorphism. After learning how to handle exceptions, you’ll study the modules, packages, and libraries that help you organize your code. As you progress, you’ll discover how to connect to external databases and web servers, work with regular expressions, and write unit tests to validate your code. You’ll also be introduced to functional programming and see how to implement it using lambda functions. By the end of this Workshop, you’ll be well-versed with key Java concepts and have the knowledge and confidence to tackle your own ambitious projects with Java.
Table of Contents (20 chapters)

Where Do Exceptions Come from?

Moving away from the more-pragmatic approach we have followed in this chapter, it is now time to put things into perspective and understand where things come from in the larger schema of the Java API. Exceptions, as mentioned in a previous section, hang from the Throwable class, which is part of the java.lang package. They are on the same level as errors (which we explained earlier). In other words, both Exception and Error are subclasses of Throwable.

Only object instances of the Throwable class can be thrown by the Java throw statement; therefore, the way we had to define our own exception implied using this class as a point of departure. As stated in the Java documentation for the Throwable class, this includes a snapshot of the execution stack at the time of creation. This allows you to look for the source of the exception (or the error) because it includes the state of computer memory at that time. A throwable object can contain the reason for...