异常

要引发异常,可以使用raise语句,并将一个类或实例作为参数,将类作为参数时,将自动创建一个实例

>>> raise Exception
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
Exception

常见的异常类型:

Exception          几乎所有异常类都从它派生

AttributeError    引用属性或给它赋值失败时引发

OSError            操作系统不能执行指定的任务时引发

IndexError        使用序列中不存在的索引时引发,为LookupError的子类

KeyError          使用映射中不存在的键时引发,为LoolupError的子类

NameError      找不到名称或变量时引发

SytaxError      代码不正确时引发

TypeError       将内置操作或函数用于类型不正确发的对象时引发

ValueErroe    将内置操作或函数用于这样的对象时引发:其类型正确但包含的值不合适

ZeroDivisionError      在除法或求模运算的第二个参数为零时引发

 

自定义异常类:务必直接或间接继承Expection,意味从任何内置异常类派生都可以

class SonmeCustomExpection(Expection):

       pass

 

捕获异常:try/except

try:
x = int(input('Enter the first number: '))
y = int(input('Enter the second number: '))
print(x/y)
except ZeroDivisionError:
print("The second number can't be zero")

捕获多种异常:

   except( ZeroDivisionError, TypeError):

 捕获所有异常(不指定任何异常):

  except:

 

posted on 2019-05-10 18:36  低调的蛋疼疼  阅读(162)  评论(0编辑  收藏  举报