My Blog

My WordPress Blog

My Blog

My WordPress Blog

No Exception

A generic class is not allowed to extend the Throwable class directly or indirectly.

//The generic class Box<T> may not subclass java.lang.Throwable
class Box<T> extends Exception {}

//The generic class Box<T> may not subclass java.lang.Throwable
class Box1<T> extends Throwable {}

A method is not allowed to catch an instance of a type parameter.

public static <T extends Exception, J> 
   void execute(List<J> jobs) {
  try {
     for (J job : jobs) {}
     // compile-time error
     //Cannot use the type parameter T in a catch block
  } catch (T e) { 
     // ...
} }

Type parameters are allowed in a throws clause.

class Box<T extends Exception>  {
   private int t;

   public void add(int t) throws T {
  this.t = t;
} public int get() {
  return t;
} }
No Exception

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top