Book Image

Java 9 with JShell

By : Gaston C. Hillar
Book Image

Java 9 with JShell

By: Gaston C. Hillar

Overview of this book

The release of Java 9 has brought many subtle and not-so-subtle changes to the way in which Java programmers approach their code. The most important ones are definitely the availability of a REPL, known as JShell, which will make experiments and prototyping much more straightforward than the old IDE-based project-led approach. Another, more subtle change can be seen in the module system, which will lead to more modularized, maintainable code. The techniques to take full advantage of object-oriented code, functional programming and the new modularity features in Java 9 form the main subjects of this book. Each chapter will add to the full picture of Java 9 programming starting out with classes and instances and ending with generics and modularity in Java.
Table of Contents (23 chapters)
Java 9 with JShell
Credits
About the Author
Acknowledgement
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Index

Creating exception classes


We will create two exception classes because we need to throw exception types that aren't represented by any of the types included in the Java 9 platform. Specifically, we will create two subclasses of the java.lang.Exception class.

The following lines declare the InsufficientMembersException class that inherits from Exception. We will throw this exception when a party has an insufficient number of members to perform an operation that requires more members to be executed. The class defines an immutable numberOfMembers private field of the int type that is initialized with the value received in the constructor. In addition, the class declares a getNumberOfMembers method that returns the value for this field. The code file for the sample is included in the java_9_oop_chapter_10_01 folder, in the example10_01.java file.

public class InsufficientMembersException extends Exception {
    private final int numberOfMembers;

    public InsufficientMembersException(int numberOfMembers...