在python中处理错误时,在执行完except语句下的内容后是否有办法回跳到代码出错的地方继续执行
python2.x
跑一段代码的时候,可能会报错某个错误,如果报错了,只需要进行一些处理,然后再继续执行原来的代码就好。
我目前是用try .. except来处理的,但是像这样只要报错就只会执行except下的代码然后程序结束
如果我加上finally的话,我又不能知道具体出错的是哪句代码(每一句都有可能报错),所以也没办法在finally下面加上后续的代码。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我懂你的意思,我在做一个爬虫(结构比较简单的网页),将数据保存到csv,以下是代码,楼主可以参考。
以上就是完整的代码了,如图在第10562页出错会打印一个错误,但我记录下了这个error_point并赋值给了start_point,于是程序可以重新运行一次10562。
没有这么处理之前,如果10562页出错,(其他方式修改代码的话),要么退出程序(Process finished with exit code 1),要么虽然能继续但是是从10563开始而非10562。
减小try-catch的粒度呢?或者贴上你的代码来分析吧,你说的exception后继续执行原来的代码有点模糊。
【修改】
看了下另外两个回答,基本上是我在下面评论中提出的两个思路,应该说大家的思路是基本一致的。这里修改下,给一个代码方案吧:
我刚刚写了一个,是生成
Access Token
的,Access Token
在数据库中是唯一的,但是生成Access Token
的函数不能保证每次生成的Access Token
都是不一样的。所以我用了一个很恶心的while
循环。大致如下:不高明,但可以用。
或者讲下你的业务,也许不用这么恶心。
我的方案:
这种方案在单进程、单线程同步请求是应该可以的。