JavaDoc官方推荐在同一个异常上使用多个@throws标签,每个标签应该描述一个可能抛出该异常的原因。这样可以提高代码的可读性和可维护性。 例如,如果一个方法可能会抛出NullPointerException和IllegalArgumentException两种异常,可以使用以下方式: /** * Performs a calculation. * * @param value the value to use in the calculation * @throws NullPointerException if the value is null * @throws IllegalArgumentException if the value is negative */ public void calculate(int value) throws NullPointerException, IllegalArgumentException { if (value == null) { throw new NullPointerException("Value cannot be null"); } if (value < 0) { throw new IllegalArgumentException("Value cannot be negative"); } // perform calculation } 注意,每个@throws标签应该描述一个不同的异常原因,而不是重复描述相同的异常。如果多个异常有相同的原因,可以在同一个@throws标签中列出它们。例如: /** * Performs a calculation. * * @param value the value to use in the calculation * @throws NullPointerException if the value is null * @throws IllegalArgumentException if the value is negative or zero */ public void calculate(int value) throws NullPointerException, IllegalArgumentException { if (value == null) { throw new NullPointerException("Value cannot be null"); } if (value <= 0) { throw new IllegalArgumentException("Value must be positive"); } // perform calculation }