此系列更新《Python Real World Data Science》的阅读摘记,每周六更新。
全书介绍Python在数据科学领域中的应用,分为四模块:
- Python 基础
- 数据分析
- 数据挖掘
- 机器学习
本文为系列第五篇,介绍python基础。
Module 1 Python Fundamentals
Chapter 5 异常捕获
Raise
class EvenOnly(list): def append(self, integer): if not isinstance(integer, int): raise TypeError("Only integers can be added") if integer % 2: raise ValueError("Only even numbers can be added") super().append(integer)
Exception Raise之后程序立即停止执行
Handle
def funny_division3(anumber): try: if anumber == 13: raise ValueError("13 is an unlucky number") return 100 / anumber except ZeroDivisionError: return "Enter a number other than zero" except TypeError: return "Enter a numerical value" except ValueError: print("No, No, not 13!") raise
Exception Hierarchy
明确指出要捕获哪一些代码
Self-defined exceptions
继承Exception类即可
异常可用于Flow Control