java中try到某个异常catch中如何重新运行异常的该行代码?
答案:2 悬赏:0 手机版
解决时间 2021-01-22 10:52
- 提问者网友:感性作祟
- 2021-01-21 12:21
java中try到某个异常catch中如何重新运行异常的该行代码?
最佳答案
- 五星知识达人网友:迷人又混蛋
- 2021-01-21 13:49
把trycatch 放在循环里面,在catch部分重新运行就好了。追问但是try到异常了的话那句就直接跳过了执行后续的代码吧,我就是不明白要如何重试异常的那行代码呢~~说明白点吧。追答for(int i=0;i<10;i++){
try{
rightArmModule.pipetteDispense(i);
}catch(Exception e){
rightArmModule.pipetteDispense(i);
}
}
如果有多行命令,就多几个try catch。追问恩恩!我明白啦!感谢你!try放在循环里面就行啦。还有一个是没有for循环的,也是几个方法都有可能报这个异常,那要如何重试异常的代码,再继续后续的??追答每一个可能的错误的语句套一个独立的trycatch。如果三个方法可能报异常,那么就是 三个trycatch。
确实看上去不漂亮,不过要满足你的要求也只能这样了。追问(⊙v⊙)嗯 你说的这个我也想到过,我觉得吧这样写是不是“垃圾代码“太多了额。。那你的意思是只能这样解决咯,没有比较完美点的方法啦?...追答对系统来说,出现异常就应该退出,你的重试的做法属于非正规的做法,只能用非正规的编程了。
正确的做法应该是在方法中尽量处理问题,如果抛出异常,就表示重试也不会有效才对。你现在的情况是认为重试可能通过,这个就比较古怪了。追问恩恩,这个重试前肯定是会先手动处理错误的啦。我是报异常了弹出窗口,点击重试再重试的,不是直接进入死循环的啦。比如说连接失败的异常,自己检查下接线,再运行就不会报错的啦!嘿嘿 那就这样啦,感谢你哈!追答一般重试,是指重新完整的重试一次。不是从中断继续,一般来说,异常后会清理状态,关闭资源。 如果用户要重试,重新执行一遍完整操作这才是正常的做法。
例如一个操作 要 有 A B C D 四步操作, 如果C报错,应该是把ABC已经做的事全部回退,如果用户选重试,重新从A开始做才对。追问0 0 但是项目需求是这样的,我这个项目是要做一个实验流程的,不可能前面的加试剂然后反应了一半,又要去重头做实验吧,呵呵。追答呵呵,我只是告诉你标准的做法,对于特例只能特殊处理。那么代码难看也没有办法了。
try{
rightArmModule.pipetteDispense(i);
}catch(Exception e){
rightArmModule.pipetteDispense(i);
}
}
如果有多行命令,就多几个try catch。追问恩恩!我明白啦!感谢你!try放在循环里面就行啦。还有一个是没有for循环的,也是几个方法都有可能报这个异常,那要如何重试异常的代码,再继续后续的??追答每一个可能的错误的语句套一个独立的trycatch。如果三个方法可能报异常,那么就是 三个trycatch。
确实看上去不漂亮,不过要满足你的要求也只能这样了。追问(⊙v⊙)嗯 你说的这个我也想到过,我觉得吧这样写是不是“垃圾代码“太多了额。。那你的意思是只能这样解决咯,没有比较完美点的方法啦?...追答对系统来说,出现异常就应该退出,你的重试的做法属于非正规的做法,只能用非正规的编程了。
正确的做法应该是在方法中尽量处理问题,如果抛出异常,就表示重试也不会有效才对。你现在的情况是认为重试可能通过,这个就比较古怪了。追问恩恩,这个重试前肯定是会先手动处理错误的啦。我是报异常了弹出窗口,点击重试再重试的,不是直接进入死循环的啦。比如说连接失败的异常,自己检查下接线,再运行就不会报错的啦!嘿嘿 那就这样啦,感谢你哈!追答一般重试,是指重新完整的重试一次。不是从中断继续,一般来说,异常后会清理状态,关闭资源。 如果用户要重试,重新执行一遍完整操作这才是正常的做法。
例如一个操作 要 有 A B C D 四步操作, 如果C报错,应该是把ABC已经做的事全部回退,如果用户选重试,重新从A开始做才对。追问0 0 但是项目需求是这样的,我这个项目是要做一个实验流程的,不可能前面的加试剂然后反应了一半,又要去重头做实验吧,呵呵。追答呵呵,我只是告诉你标准的做法,对于特例只能特殊处理。那么代码难看也没有办法了。
全部回答
- 1楼网友:轻熟杀无赦
- 2021-01-21 14:59
把要执行的那段代码,抽出一个方法,在try... catch 里调用
然后catch里捕捉到一场再调用。
可以用个循环控制重试的次数。追问你说的这个方式我考虑过,但是对于项目来说不可行勒,假如说要执行的代码有3行,我第1行执行没报错,第2行才报错的话,重新调用方法的话,第1行就运行了两次啦,是不通的吖。。追答你说的对,
你这样的情况就只能 针对 那一块 去try catch 。
针对有可能出现异常的代码块 做 try catch , 代码重试。追问那还是和另外那位兄弟说的那样了,只能一行代码try一次了,感觉这样多了”垃圾代码“,所以想着看有没有完美点的解决方案啦,看来是没有好的方法的啦啊 - -!最后还是感谢你哈~~追答嗯嗯,没有好方法了。。。
然后catch里捕捉到一场再调用。
可以用个循环控制重试的次数。追问你说的这个方式我考虑过,但是对于项目来说不可行勒,假如说要执行的代码有3行,我第1行执行没报错,第2行才报错的话,重新调用方法的话,第1行就运行了两次啦,是不通的吖。。追答你说的对,
你这样的情况就只能 针对 那一块 去try catch 。
针对有可能出现异常的代码块 做 try catch , 代码重试。追问那还是和另外那位兄弟说的那样了,只能一行代码try一次了,感觉这样多了”垃圾代码“,所以想着看有没有完美点的解决方案啦,看来是没有好的方法的啦啊 - -!最后还是感谢你哈~~追答嗯嗯,没有好方法了。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯