java中throw和throws的区别

48 阅读1分钟

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去捕获然后抛出