程序报错?太常见了,咱们能够想办法修理好它
number="hello" try: #有可能出错的语句 number=int(number) except Exception: print("出错了") else: print("没错的时候运行")
except后面指定了报错的异常类,在python中重要的内建异常类有:python
...
除了上述列出来的,其实python的异常类还有不少,当在except后面指定异常类以后,那么只有报这个类型异常的时候才会输出“出错了”
固然咱们也能够去掉Exception,这样任何异常均可以捕获到
捕获多个异常如何作this
#指定多个异常 number="hello" try: #有可能出错的语句 number=int(number) except ValueError: print("ValueError出错了") except Exception: print("Exception出错了") else: print("没错的时候执行的语句") finally: print("不管发不发生异常,都会执行的语句") #指定多个异常 number=[1,2,3] try: #有可能出错的语句 number=number[4] except (ValueError,NameError,IndexError): print("出错了") else: print("没错的时候运行")
尽管python给咱们提供了不少内置的异常类,可是仍是不能知足精肯定位的问题,咱们能够经过建立一个新的exception类拥有本身的异常,异常应该继承自Exception类,能够直接继承,也能够间接继承code
class MyError(Exception): def __init__(self): pass def __str__(self): return "this is error" def Calc(): raise MyError() #经过raise语句抛出一个错误的实例 Calc()