ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 6.3 【基础】如何自定义异常? 大多数情况下,内置的错误和异常已经够用了,但是有时候你还是需要自定义一些异常。 自定义异常,需要你对 `类` 与 `继承` 有一些了解,对于类的知识,我放在了第七章,因此你可以先前往学习下第七章的的下面两节内容: - [7.1 类的理解与使用](https://python.iswbm.com/en/latest/c07/c07_01.html) - [7.5 类的继承(Inheritance)](https://python.iswbm.com/en/latest/c07/c07_05.html) 等学习完后再回过头来学习本节内容。 自定义异常应该继承 `Exception` 类,直接继承或者间接继承都可以,自定义的异常或错误类,下面使用 `InputError` ,表示接受用户输入时发生问题。 ```python class InputError(Exception): def __init__(self, msg): self.message = msg def __str__(self): return self.message ``` 异常的名字都以`Error`结尾,我们在为自定义异常命名的时候也需要遵守这一规范,就跟标准的异常命名一样。 定义完后,再看如下代码,我在 try 里调用 get_input 函数,如果发现用户没有输入内容,就使用 `raise` 关键字来抛出 `InputError`。 ```python def get_input(): name = input("请输入你的姓名:") if name == "": raise InputError("未输入内容") try: get_input() except InputError as e: print(e) ```