javaweb项目中为什么可以直接用抛出异常处理呢?

据我所知java如果方法中抛出异常,必须在方法声明处声明抛出,类处声明抛出,调用处声明抛出。
现在有个问题,我发现有的项目直接就在处理的时候抛异常了,但是方法上面和类上面都没有抛出声明,这是怎么做到的呢?

继承自Exception的异常要声明抛出。
继承自RuntimeException的异常不用声明,也可以抛出。

有全局异常捕获处理的

运行时异常类型是不需要在方法上声明的,即:如果抛出的是RuntimeExecption或者其子类异常,不需要在方法上声明异常。
另外,如果方法里有try catch,也是不需要在方法上声明异常的。