Python 将错误打印到屏幕,但继续执行代码
我有一些代码可以遍历一系列URL。如果我的代码中有一个错误,因为其中一个URL不包含有效的JSON主体,我希望将生成的错误打印到屏幕上,但随后代码将进入下一次迭代。我的代码的简单版本是:Python 将错误打印到屏幕,但继续执行代码,python,exception,error-handling,Python,Exception,Error Handling,我有一些代码可以遍历一系列URL。如果我的代码中有一个错误,因为其中一个URL不包含有效的JSON主体,我希望将生成的错误打印到屏幕上,但随后代码将进入下一次迭代。我的代码的简单版本是: for a in myurls: try: #mycode except Exception as exc: print traceback.format_exc() print exc pass 但是,这会将错误打印到屏
for a in myurls:
try:
#mycode
except Exception as exc:
print traceback.format_exc()
print exc
pass
但是,这会将错误打印到屏幕并结束代码的执行。是否有一种方法可以通过移动到“for”循环的下一个迭代来获得错误以继续执行?只需将try except放在您预期会发生异常的代码上即可。该代码基本上位于循环内部
for a in myurls:
try:
#mycode
except Exception as exc:
print traceback.format_exc()
print exc
@gdogg371 Animesh的答案是非常基本的python。关键是,您的异常处理发生在您指定的try/except级别。@animesh sharma抱歉,我已经修改了我的问题,因为我的代码目前的结构与animesh的回答相同。我的问题打错了。有什么想法吗?我想代码应该很好用。except块不应使for循环中断。@animesh python3的答案是什么?您是否确实导入了回溯?如果没有,您将得到一个
name错误:在try
块中未定义名称“traceback”。第二个异常将导致程序退出,但原因与您预期的完全不同。(此外,这也是为什么我们总是要求完整的回溯:它会告诉你是否发生了类似的事情。)