1 异常:
def exceptionHandling(): try: a = 10 b = 0 d = a / b print(d) except ZeroDivisionError as ex: print("exception 1 " + str(ex) ) except BaseException as ex: print("exception 2 " + str(ex)) exceptionHandling()
2 : else(如果没有异常)
def exceptionHandling(): try: a = 10 b = "d" d = a / b print(d) except ZeroDivisionError as ex: print("exception 1 " + str(ex) ) except BaseException as ex: print("base exception") else: // 如果没有上面两个异常,会走到这里 print("OK") exceptionHandling()
3:Finally
def exceptionHandling(): try: a = 10 b = 5 d = a / b print(d) except ZeroDivisionError as ex: print("exception 1 " + str(ex) ) except BaseException as ex: print("base exception") else: print("OK") finally: // 无论有无异常,都会执行 print("must execute") exceptionHandling()
4: 抛出异常
raise XXXX
def exceptionHandling(): try: a = 10 b = 0 d = a / b print(d) except ZeroDivisionError as ex: print("exception 1 " + str(ex) ) raise ZeroDivisionError("aaaaaaaaaaaa") // 可以在代码里面抛出异常 except BaseException as ex: print("base exception") else: print("OK") finally: print("must execute") exceptionHandling()