class Student(object): def __init__(self, name, gender): self.name = name self.set_gender(gender) def get_gender(self) : return self.__gender def set_gender(self, gender) : if isinstance(gender, str) == False : raise ValueError('参数类型错误!') gender = gender.lower() if gender in ('male', 'female') : self.__gender = gender else : raise GenderError() class GenderError(Exception) : '''自定义错误异常''' def __init__(self) : pass def __str__(self): return '输入的性别错误! 只允许输入"male"或"female"(不区分大小写)'
# 测试:
bart = Student('Bart', 'male') if bart.get_gender() != 'male': print('测试失败!') else: try: #bart.set_gender(123456) # 测试异常捕获 - 参数类型 #bart.set_gender('foo') # 测试异常捕获 - 非指定值 bart.set_gender('female') if bart.get_gender() != 'female': print('测试失败!') else: print('测试成功!') except GenderError as e: print(e) except ValueError as e: print(e)
Sign in to make a reply
EddieLau_
# 测试: