throw与throws

时间:2023-12-31 18:22:26

throws可以单独使用(一直上抛)

throw要么和try-catch-finally语句配套使用,要么与throws配套使用

/**
 * 总结:
 *    1.throws是方法抛出异常。如: public int method() throws Exception{//code.....}
 *      a.如果,方法体中有异常并使用try-catch捕获异常并处理,则方法不会抛出异常。
 *      b.如果,方法体中有异常(如:算术异常)且没有捕获并处理;则此方法抛出的是方法体中的异常。
 *      c.如果,方法体中使用‘throw new Exception();’语句抛出一个新的Exception实例;则即是方法体多出一个这样的异常,
 *         方法抛出的是此语句异常。
 *      d.如果,方法体中对异常进行了捕获却没有处理,且在catch中使用'throw e;'语句抛出异常,则即是方法抛出的是try中的异常。(不是自己定义的,还是原来的异常)
 *      
 *    2.throw是语句抛出异常。
 *      //***抛出异常e实例或新的Exception实例
 *      a.catch中的throw e;
 *      b.方法体中的throw new Exception();
 *      
 *    总之,两者的作用就是简单的抛出异常。
 */