2019.01.24 异常处理、抽象类
1.错误:
语法错误 逻辑错误
2.异常:(逻辑错误的一种)
程序执行过程中出现问题导致程序无法执行
3.常见异常:
AttributeError:属性错误
IOError:输入/输出异常:无法打开文件
ImportError:导入模块/包异常,路径错误名称错误
ModuleNotFoundError:无法找到模块(属于ImportError的一种)
IndentationError:语法错误(的子类):代码没有对齐
IndexError:列表下标越界
KeyError:键值错误
KeyboardInterrupt:Ctrl + C 被按下
NameError:尝试访问一个没有申明的变量
SyntaxError Python代码非法,语法错误
TypeError:传入对象类型与要求不符
UnboundLocalError: 试图访问一个还未被设置的局部变量
ValueError:传入一个调用者不期望的值,即使值的类型是正确的
4.异常处理
try:
可能发生异常的代码
except[Exception[as err]]:#异常类型名称:
异常处理1
except[Exception[as err]]:
异常处理2
except[Exception[as err]]:
异常处理3
else:
不发生异常时执行的代码
finally: #总是执行,停止
总是执行
try:
a = 1/0
except:
print(“分母为零”)
<分母为零>
#自定义异常:系统无法提供所需的异常
#BaseException:所有异常的基类
class MyError(BaseException):
def init(self,errType,err):
super().init(errType,err)
age = 14
if age < 18:
try:
raise MyError(“MyError”,“未成年”)
except MyError as err:
print(err)
1.抽象类:当父类中部分方法不能满足大多数子类的需求,但父类强制子类必须有该方法时,在父类中将该方法定义为抽象方法
1)抽象类可以有抽象方法,也可以有普通方法
2)抽象类不能直接实例化(创建对象),通过了子类间接实例化
3)抽象类允许有构造函数(init(self))
2.接口:都是抽象方法的类