Java 为什么不';我们有时不使用抛出新异常吗?

Java 为什么不';我们有时不使用抛出新异常吗?,java,oop,servlets,web-applications,Java,Oop,Servlets,Web Applications,例如,在这个方法中:protectedvoiddopost(HttpServletRequest-req,HttpServletResponse-resp)抛出ServletException,java.io.IOException{} 抛出新的ServletException,java.io.IOException;未在方法定义中使用。为什么呢?谁能告诉我为什么?我是java新手 在下面的代码中,使用了throw,为什么在上面抛出异常的方法中不使用throw呢 class SomeClas

例如,在这个方法中:
protectedvoiddopost(HttpServletRequest-req,HttpServletResponse-resp)抛出ServletException,java.io.IOException{}

抛出新的ServletException,java.io.IOException;未在方法定义中使用。为什么呢?谁能告诉我为什么?我是java新手

在下面的代码中,使用了throw,为什么在上面抛出异常的方法中不使用throw呢

  class SomeClassName { 
        void show() throws Exception
           {
            throw new Exception();
            }
         }

抛出新异常
“创建”异常,而
抛出异常
只是将遇到的任何异常“抛出”到调用方方法

抛出异常
抛出新异常()做完全不同的事情


抛出异常
是方法签名的一部分,并指定“允许此方法抛出
异常
s”

抛出新异常()
是一条实际引发异常的语句

  class SomeClassName { 
        void show() throws Exception
           {
            throw new Exception();
            }
         }
这是无效的(因为
throw
不能是方法签名的一部分):

这也不是(因为
抛出异常
不是一条语句):


从字面上看,抛出“本身意味着它应该与一种行为相关联。”抛出”表示它应与动作关联

类似地,
抛出
,因为行为与
方法
签名相关联

public void test() throws CutomException{
    //do whatever
    throw new CustomException
}

前面提到的
方法
具有抛出
自定义异常
抛出
)的特性,如果在
方法
主体内触发,则执行相同的操作(
抛出
)。

抛出和抛出是两件不同的事情。Google themIt没有显式地抛出
ServletException
,但它调用了其他方法。阅读:同样的原因,我们写
public int getNumberOfCats(){
而不是
public return 1;getNumberOfCats(){
我的问题是,为什么在抛出方法中不使用抛出。那么,如果抛出方法不能抛出异常,那么编写抛出的目的是什么呢?
public void test() throws CutomException{
    //do whatever
    throw new CustomException
}