基于Java中throw和throws的区别(详解)-创新互联

系统自动抛出的异常

创新互联公司主营昆明网站建设的网络公司,主营网站建设方案,成都App制作,昆明h5微信平台小程序开发搭建,昆明网站营销推广欢迎昆明等地区企业咨询

所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。

语句抛出的异常

用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。

throw是语句抛出一个异常。

语法:throw (异常对象);
throw e;

throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)

语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......}

public void doA(int a) throws Exception1,Exception3{......}

举例:

throws E1,E2,E3只是告诉程序这个方法可能会抛出这些异常,方法的调用者可能要处理这些异常,而这些异常E1,E2,E3可能是该函数体产生的。
throw则是明确了这个地方要抛出这个异常。

如:

void doA(int a) throws Exception1,Exception3{
      try{
         ......

      }catch(Exception1 e){
       throw e;
      }catch(Exception2 e){
       System.out.println("出错了!");
      }
      if(a!=b)
       throw new Exception3("自定义异常");
}


文章名称:基于Java中throw和throws的区别(详解)-创新互联
分享地址:http://myzitong.com/article/hdscp.html