Customized Exception Class 应该扩展 Exception 还是 Throwable?

Customized Exception Class should extend Exception or Throwable?

public class CustomizedException 扩展异常{}

public class CustomizedException 扩展了 Throwable{}

只有两种Throwable,异常和错误。除非编写内部 JVM 代码,例如代理或 class 加载程序,否则永远不要扩展或抛出 Error。始终使用异常,扩展(并因此更具体地)现有异常 class 例如 IllegalArgumentExceptionIllegalStateException 通常是有意义的。