throw和trycatch区别(trycatch和throws)
java中try语句和throw的区别
try catch 是进行异常捕获,若你try的语句执行出错则会在catch中进行异常捕获的打印,不会将错误提示信息呈现在前台页面上。大多数采用try catch进行异常捕获。throw是将产生的异常往上一级抛出,若是在控制层直接调用的时候出现异常,前台讲话出现错误提示信息,给用户的体验度不好。
try-catch和throw,throws的区别
1.throw
throw 就是抛出一个异常,并获取这个异常的引用,这个异常会被抛到外部的环境,由外部环境进行处理
class A{
public void func() throws Exception{
throw new Exception();
}
}
这里抛出了一个Exception,Exception是throwable的子类,是所有异常的基类。与此同时,throwable还有另一个子类,也就是Error。
这里会把Exception这个引用抛到外部环境中去处理。
throw跟try...catch...finally的对比:
public class ZeroTest {
public static void main(String[] args) {
try{
int i = 100/ 0;
System.out.print(i);
}catch(Exception e){
System.out.print(1);
throw new RuntimeException();
}finally{
System.out.print(2);
}
System.out.print(3);
}
}
try catch是直接处理,处理完成之后程序继续往下执行,throw则是将异常抛给它的上一级处理,程序便不往下执行了。
本题的catch语句块里面,打印完1之后,又抛出了一个RuntimeException,程序并没有处理它,而是直接抛出,
因此执行完finally语句块之后,程序终止了
关于java里面throw,throws和try catch有什么区别吗?
try
catch是抛异常,catch里面可以直接throw异常,名为runtimexception,运行期,throws是写在方法后面的可以是运行也可以是编译期,甚至可以随便写个异常,没吊事。