java throw与throws区别(不懂);
我的理解:
throw本质:在语句中手动抛出一个异常实例;
throw语法:不可单独使用,要和try catch 配套,抛出到上一级;
throws本质:在方法中声明回避异常;
throws语法:可以单独使用,抛出到调用者;
我想问:
throw与throws抛出的哪个要捕获,那个不要捕获,不捕获程序会终止吗;都是抛出到上一级的吗?
java
------解决方案-------------------- throws语句
throws总是出现在一个函数头中,用来标明该成员函数可能抛出的各种异常。对大多数Exception子类来说,Java 编译器会强迫你声明在一个成员函数中抛出的异常的类型。如果异常的类型是Error或
RuntimeException, 或它们的子类,这个规则不起作用, 因为这在程序的正常部分中是不期待出现的。 如果你想明确地抛出一个RuntimeException,你必须用throws语句来声明它的类型。
throw语句
throw总是出现在函数体中,用来抛出一个异常。程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。