throw是一个行为, 一个抛出错误实例的行为
public void checkValue(int value) {
if(value< 0) {
throw new IllegalArgumentException("Value cannot be negative.");
}
}
throws是一种提示信息, 一种提示这个方法中可能出现错误的方式, 后面会接上可能出现的错误类型。 如果真的出错了开发者要么通过try-catch捕获, 要么通过thows继续把这个错误传递出去
public void processFile(String fileName) throws IOException { // 可能会抛出IOException的方法体 }
总结: throw是一个切实的扔出报错行为
throws是提示可能报错的类型, 提高可读性和可维护性, 如果这个throws里面出现报错信息了, 需要try-catch去捕获然后抛出