Python调试与异常

    xiaoxiao2026-01-11  4

    # 捕获异常 l = [1, 2, 3] try: print(l[5]) # 引发下标越界的错误 except: print("Error!") # 引发异常 else: print("No error!") # 未引发异常的情况 finally: print("Read end") # 不管有没有引发异常都会执行这一步 # except后面是可以加异常名的 try: print(l[2] / 0) except IndexError: # 仅捕获下标越界的异常 print("Index Error!") # 由于l[2]并没有引发下标越界,所以此处不会有异常 except ZeroDivisionError: # 仅捕获除数为0的异常 print("Zero Division Error") # 由于除数为0,所以会在此处爆出异常 else: print("No error!") # 未引发异常的情况 finally: print("Read end") # 不管有没有引发异常都会执行这一步 # python的内置异常表: # AttributeError 调用不存在的方法引发的异常 # EOFError 遇到文件末尾引发的异常 # ImportError 导入模块出错引发的异常 # IndexError 列表的下标越界引发的异常 # IOError I/O操作引发的异常,如打开文件出错 # KeyError 使用字典中不存在的关键字引发的异常 # NameError 使用不存在的变量名引发的异常 # TabError 语块缩进不正确引发的异常 # ValueError 搜索列表中不存在的值引发的异常 # ZeroDivisionError 除数为0引发的异常 try: print(l[2] / 0) except (IndexError, ZeroDivisionError): # 捕获IndexError或ZeroDivisionError两个异常 print("Index or zero division error!") else: print("No error!") # 未引发异常的情况 finally: print("Read end") # 不管有没有引发异常都会执行这一步 # 在嵌套的try语句中,一旦引发异常,python将匹配最近的except语句,如果except语句能捕获该异常 # 则外围的try语句不会捕获该异常,如果except忽略该异常,则异常将被外界的语句捕获 # 自定义异常类 class Error(Exception): def __init__(self, value): self.value = value def __str__(self): return repr(self.value) try: raise Error('err') # 使用raise语句引发了一个异常 except Error: print('error') 首发于我的个人网站:  点击打开链接
    转载请注明原文地址: https://ju.6miu.com/read-1305895.html
    最新回复(0)