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;
   }   
}

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

技术教程推荐

程序员进阶攻略 -〔胡峰〕

Java并发编程实战 -〔王宝令〕

从0开发一款iOS App -〔朱德权〕

TypeScript开发实战 -〔梁宵〕

高并发系统设计40问 -〔唐扬〕

微信小程序全栈开发实战 -〔李艺〕

陈天 · Rust 编程第一课 -〔陈天〕

HarmonyOS快速入门与实战 -〔QCon+案例研习社〕

说透低代码 -〔陈旭〕

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