给菜鸟分享一个东西 以前老以为一个方法里写好多If 判读 方法都会进入各个If 去判读 其实不是这样的
给初学者分享一个东西 以前老以为一个方法里写好多If 判读 方法都会进入各个If 去判读 其实不是这样的
public class Test1 {
public void insert(String s) throws Exception{
if (s.equals("123")){
throw new Exception("账号异常");
}
System.out.println("hello");
String groupid ="2";
if (groupid.equals("2")){
throw new Exception("地址异常");
}
if (groupid.equals("3")){
throw new Exception("身份异常");
}
String m="88";
System.out.println(m);
}
比如这段测试代码 我以前老以为去调用这个方法的时候 会执行到这个方法的最后一句 里面的几个If会走完 其实不是这样的 只要进入了一个if的话 就会抛出异常了 下面的语句都不会执行的
------解决思路----------------------
throw new Exception("账号异常"); 跟在if 里面写return 效果差不多,不同的是一个是异常终止代码,一个是正常终止代码
------解决思路----------------------
= = ! throw new exception 是直接抛出异常,不会执行下面代码了,而你说的catch是try-catch体(还有try-catch-finally体),try-catch是执行try里面的代码,如果try代码没报错就不会执行catch的代码,反之报错就会被进入catch体。这不是在Service层或者action层的原因。
public class Test1 {
public void insert(String s) throws Exception{
if (s.equals("123")){
throw new Exception("账号异常");
}
System.out.println("hello");
String groupid ="2";
if (groupid.equals("2")){
throw new Exception("地址异常");
}
if (groupid.equals("3")){
throw new Exception("身份异常");
}
String m="88";
System.out.println(m);
}
比如这段测试代码 我以前老以为去调用这个方法的时候 会执行到这个方法的最后一句 里面的几个If会走完 其实不是这样的 只要进入了一个if的话 就会抛出异常了 下面的语句都不会执行的
------解决思路----------------------
throw new Exception("账号异常"); 跟在if 里面写return 效果差不多,不同的是一个是异常终止代码,一个是正常终止代码
------解决思路----------------------
= = ! throw new exception 是直接抛出异常,不会执行下面代码了,而你说的catch是try-catch体(还有try-catch-finally体),try-catch是执行try里面的代码,如果try代码没报错就不会执行catch的代码,反之报错就会被进入catch体。这不是在Service层或者action层的原因。