exceptIndexError as e:# 未捕获到异常,程序直接报错 print(e) #2 多分支 s1='hello' try: int(s1) exceptIndexError as e: print(e) exceptKeyError as e: print(e) exceptValueError as e: print(e) #3 万能异常Exception s1='hello' try: int(s1) exceptException as e: print(e) #4 多分支...
except (KeyError,KeyError) as 信息变量: print(信息变量) 例如: gtqDict={"Name":"光头强","Age":34,"Gender":"男"} try: print(gtqDict["Weight"]) except (KeyError,KeyError) as e: print(type(e),e) print(gtqDict["Name"]) print(gtqDict["Gender"]) 捕获所有异常: 前面提过,引发异常的x...
raise KeyError(1) ifi ==2: raise ValueError(2) def bad(): e = None try: bar(int(sys.argv[1])) except KeyError as e: print('key error') except ValueError as e: print('value error') print(e) bad() 在Python 2中,上述代码运行正常 $ python foo.py1 key error 1 $ python foo.py...
except (KeyError,IndexError) as e: print("Key没有找到,或者下标异常错误:",e) except IndexError as e: print("List 操作错误",e) except Exception as e: print("未知错误",e) else: print("如果没有异常发生,那么会执行我这个else,一切正常") finally: print("不管报不报错,我这个finally 还是要执...
dic["k1"]>>>KeyError:'k1'classFoo:passobj = Foo() obj.x>>>AttributeError:'Foo'objecthas no attribute'x'# Foo对象没有属性xint("asdb")# 无效的int()的基数为10:'asdb'>>>ValueError: invalid literalforint()withbase10:'asdb'1/0>>>ZeroDivisionError: division by zero# 零除法错误:被...
>>>deftesttry(func,*args,**kargs):try:func(*args,**kargs)exceptNameErrorasne:print('NameError:',ne)exceptIndexErrorasie:print('IndexError:',ie)exceptKeyErroraske:print('KeyError:',ke)except (AttributeError,TypeError,SyntaxError) asatse:print('AttributeError,TypeError,SyntaxError:',atse)...
raise KeyError(1) if i == 2: raise ValueError(2) def bad(): e = None try: bar(int(sys.argv[1])) except KeyError as e: print('key error') except ValueError as e: print('value error') print(e) bad() 在Python 2中运行正常: ...
4) except (Exception1, Exception2) as e 但是如果我们想以相同的方式处理一堆异常怎么办?我们是否必须为每个异常重复代码?例如: 我们不必重复那么多代码。 在上面的例子中,以相同方式处理异常的前 3 个except块可以这样压缩为一个except块: 这里,第一个exc...
•KeyError:访问字典中不存在的键。 •IndexError:索引超出序列范围。 •AttributeError:尝试访问对象不存在的属性或方法。 # 示例:引发不同类型异常 print("Hello, " + 123) # TypeError: can only concatenate str (not "int") to str x = 1 / 0 # ZeroDivisionError: division by zero ...
) [as e]]: #处理异常的代码块2 ---捕获异常 except: #处理异常的代码块3,不指定异常可以处理任意类型的异常 ---捕获异常 else: #不产生异常时执行的代码 finally: #无论产不产生异常时最终都要执行的代码 异常层级 BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception...