There are two kinds of exceptions in Java:
- Checked exceptions: These exceptions must be specified in the throws clause of a method or caught inside them. For example, IOException or ClassNotFoundException.
- Unchecked exceptions: These exceptions don't have to be specified or caught. For example, NumberFormatException.
You can't throw any checked exception in the compute() method of the ForkJoinTask class because this method doesn't include any throws declaration in its implementation. You have to include the necessary code to handle the checked exceptions. On the other hand, you can throw (or it can be thrown by any method or object used inside the method) an unchecked exception. The behavior of the ForkJoinTask and ForkJoinPool classes is different from what you may expect. The program doesn't finish execution and you won't see any information about the...