Java泛型不允许异常

Java泛型不允许异常 首页 / 泛型入门教程 / Java泛型不允许异常

泛型类不允许直接或间接扩展Throwable类。

//泛型类 Box<T> 可能不是 java.lang.Throwable 的子类
class Box<T> extends Exception {}

//泛型类 Box<T> 可能不是 java.lang.Throwable 的子类
class Box1<T> extends Throwable {}

不允许方法捕获类型参数的。

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) { 
         //...
   }
} 

throws子句中允许使用类型参数。

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

   public void add(int t) throws T {
      this.t=t;
   }

   public int get() {
      return t;
   }   
}

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

教程推荐

AI大模型系统实战 -〔Tyler〕

Web漏洞挖掘实战 -〔王昊天〕

Spring编程常见错误50例 -〔傅健〕

物联网开发实战 -〔郭朝斌〕

张汉东的Rust实战课 -〔张汉东〕

设计模式之美 -〔王争〕

MySQL实战45讲 -〔林晓斌〕

微服务架构实战160讲 -〔杨波〕

赵成的运维体系管理课 -〔赵成〕

好记忆不如烂笔头。留下您的足迹吧 :)