throw与throws抛出异常的区别

  throws抛出异常出现在 public void function() throws Exception{};

  throw抛出异常是在方法内 比如:

public int function(int a){
    if(a==0){
        throw new Exception("传入参数为0")    
     }
    return 0;
}    

  比如就是当这个函数传入的参数不能为0时,一旦传入这个值为0的参数就会引发这个异常,并实现异常处理。

  也就是说throws抛出异常,这个异常不一定会出现,只有当程序出现某种错误时,比如除零异常,数组下表越界异常等等,才会引发异常。而throw是当程序运行到这段时,一定会出现异常,并调用异常处理,就像在上面例子中,传入参数为0时就会产生这个异常。在百度上看到有位朋友的回答很确切,throws是“抛弃”,一旦出现异常就将其抛到调用该方法的地方去,让其他人解决这个异常,throw是“产生”,一旦出现异常就处理它。

原文地址:https://www.cnblogs.com/hamihua/p/6552327.html