自定义异常假设某网站只允许用户上传jpg、png和jpeg格式的文件,本实例要求编写python代码,通过异常捕获语句实现用户上传头像格式检测的功能。
时间: 2024-02-13 12:05:06 浏览: 116
python自定义异常实例详解
5星 · 资源好评率100%
好的,以下是实现这个功能的 Python 代码:
```python
class InvalidImageError(Exception):
pass
def upload_avatar(file):
allowed_formats = ('.jpg', '.png', '.jpeg')
if not file.lower().endswith(allowed_formats):
raise InvalidImageError("Invalid image format. Only JPG, PNG and JPEG formats are allowed.")
try:
upload_avatar('my_avatar.bmp')
except InvalidImageError as e:
print(e)
```
在这个代码中,我们定义了一个名为 `InvalidImageError` 的自定义异常类,它继承自 `Exception`。然后,我们编写了一个名为 `upload_avatar` 的函数,它接受一个文件名作为参数,并检查该文件的格式是否被允许。如果文件格式不被允许,则会抛出 `InvalidImageError` 异常,并提供一条错误消息。
最后,我们在一个 `try-except` 语句中调用 `upload_avatar` 函数,并捕获 `InvalidImageError` 异常。如果捕获到了这个异常,我们会打印出它的错误消息。
当执行这个代码时,如果传递给 `upload_avatar` 函数的文件格式不被允许,就会抛出 `InvalidImageError` 异常,并打印出错误消息。如果文件格式被允许,函数就会正常执行,不会抛出任何异常。
阅读全文