使用try...except捕获错误还有一个巨大的好处,就是可以跨越多层调用,比如函数main()调用foo(),foo()调用bar(),结果bar()出错了,这时,只要main()捕获到了,就可以处理: 1 2 3 4 5 6 7 8 9 10 11 12 13 deffoo(s): return10/int(s) defbar(s): returnfoo(s)*2 defmain(): try: bar('0')...
就像往常一样,这个语句中的main-action代码会先执行。如果该程序代码引发异常,那么所有except代码块就会逐一测试,寻找与抛出的异常相符的语句,如果引发的异常是Exception1,就会执行handler1,如果引发的的异常是Exception2,就会执行handler2,以此类推,如果没有引发任何异常,将会执行else-block。而无论之前发生了什么,当mai...
timeout=1) if response.status_code == 200: return response.text else: print('Get Page Failed', response.status_code) return None except (ConnectionError, ReadTimeout): print('Crawling Failed', url) return None def main(): url = ' print(get_page(url)) if __name__...
就像往常一样,这个语句中的main-action代码会先执行。如果该程序代码引发异常,那么所有except代码块就会逐一测试,寻找与抛出的异常相符的语句,如果引发的异常是Exception1,就会执行handler1,如果引发的的异常是Exception2,就会执行handler2,以此类推,如果没有引发任何异常,将会执行else-block。而无论之前发生了什么,当mai...
class SelfException(Exception): passdef main(): firstMethod()def firstMethod(): secondMethod()def secondMethod(): thirdMethod()def thirdMethod(): raise SelfException("自定义异常信息")main() # 导入trackback模块import tracebackclass SelfException(Exception): passdef main(): firstMethod()def fir...
fh.write("这是一个测试文件,用于测试异常!!") except IOError: print "Error: 没有找到文件或读取文件失败" else: print "内容写入文件成功" fh.close() 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 以上程序输出结果: $ python test.py ...
pickle 是以二进制的编码格式写入或者读取的。 import pickle info = {'id': '362412199910095612', 'name': 'David', 'sex': 'M', 'age': 22, 'address': {'province': '江西', 'city': '南昌', 'downtown': '红谷滩'} } if __name__ == '__main__': try: f = open('./info.pkl...
if __name__ == ‘__main__’: main() “` 3、参数处理:如果需要,可以在main函数内部处理命令行参数,Python中的argparse模块非常适合这项任务。 4、调用其他函数:main函数应该负责调用程序中的其他函数,组织程序的流程。 5、异常处理:确保在main函数中妥善处理可能出现的异常。
ValueError 传给函数的参数类型不正确,比如给int()函数传入字符串形 二、traceback获取详细的异常信息 1:传统方式的异常处理 代码语言:javascript 复制 In[1]:try:...:1/0...:except Exception,e:...:print e...:integer division or modulo by zero # 只显示简单的错误信息 ...
通常的语句放在try块中,错误处理语句放在except块中。示例如下: #!/usr/bin/python # Filename: try_except.py import sys try: s = raw_input('Enter something --> ') except EOFError:#处理EOFError类型的异常 print '/nWhy did you do an EOF on me?' sys.exit() # 退出程序 except:#处理其它...