Java中的异常分为两大类:
1.Checked Exception(非Runtime Exception)
2.Unchecked Exception(Runtime Exception)
运行时异常
RuntimeException类是Exception类的子类,它叫做运行时异常,Java中的所有运行时异常都会直接或者间接地继承自RuntimeException类。
Java中凡是继承自Exception,而不继承自RuntimeException类的异常都是非运行时异常。
注意: 必须抛出的异常为编译时异常, 运行时异常(RuntimeException)不用抛出。
**也就是说如果抛出的异常是RuntimeException的子类,方法名后不用写throws+异常类名
如果Exception(非RuntimeException)的子类,则使用throw关键字抛出异常后需要在方法名后写明throws+异常名**