如题:比如
for(int i=0;i<str.length();i++){
if(i==1){
throw new ApiException("dsf");
//continue;
}
}
看你的目标。
1、查看异常信息。你可以捕获异常,写日志。
2、方法调用的地方处理异常。用list把异常信息存储起来,return。
try {
} catch (Exception e) {
// TODO: handle exception
}
首先你需要明白方法中抛出异常的含义就是方法出现问题了,不能继续了。
所以一旦执行你代码中的throw new Exception方法,那么方法就中断返回了。所以你说的需求不能实现。
一楼回答是操作中捕获异常的处理方法,这跟抛出异常不是一个概念的。
你把你的if语句写在try里,把continue写在catch就行了
你这个需求主要干嘛的,你又throw 出去又跳转下一条,万一下一条又出错了。
你这里throw 做什么处理呢?
你如果想知道什么异常出错可以把异常给存储起来。
你这个设计有问题啊,如果实在非要这样做,你可以这样写
for(int i =0;i<str.length;i++){
try{
if(i==1){
throw ApiException("ds");
}
System.out.println(i);//这里写1往后的逻辑,亲测可用
}catch(ApiException e){
}finally{
continue;
}
}
throw 意义何在 , 不就是为了 查看你的程序错误吗?
直接 你写个日志在你程序目录下,这个问题不就解决啦吗?
catch 里面写你之后的逻辑代码,不就OK啦吗?
这属于逻辑代码,不属于技术点范畴啦,就是看你怎么给提示好啦!说啦,如果考虑到有报错的情况,那你就在catch 里面写你的
提示代码,必竟你这个问题本身不难,又不是什么大问题,相当于用户体验的问题。
还有你这个是 web 的 还是客户端的啊,就当下看你的回复,我猜你的意思,是想要给用户看你反馈的后台信息,如果是web,那你写个接口,
若果是 客户端,你后台返回信息,用户体验都不好
一般抛出异常就不能继续执行了
你自己捕捉异常呗,在catch里面你在continue