python基础(31)raise语句
Python内置了一个关键字raise,可以主动触发异常。
raise可以抛出自定义异常,前面已经有了python内置的一些常见的异常类型。大多数情况下,内置异常已经够用了。
但是有时候你还是需要自定义一些异常:自定义异常应该继承Exception类,直接继承或者间接继承都可以,例如:
# 1.用户自定义异常类型
class TooLongExceptin(Exception):
"this is user's Exception for check the length of name "
def __init__(self, len):
self.len = len
def __str__(self):
return "输入姓名长度是" + str(self.len) + ",超过长度了"
try:
name = input("enter your name:")
if len(name) > 5:
raise TooLongExceptin(len(name))
else:
print(name)
except TooLongExceptin as error: # 这里异常类型是用户自定义的
print("打印异常信息:", error)
def clean_username(self):
val = self.cleaned_data.get("username")
user = UserInfo.objects.filter(username=val).exists()
if not user:
return val
else:
raise ValidationError("该用户已注册!")
浙公网安备 33010602011771号