Cách thích hợp để kiểm tra lỗi trong một lớp là gì? Tăng ngoại lệ? Thiết lập một từ điển biến từ điển "lỗi" có chứa tất cả các lỗi và trả về nó?Cách thích hợp trong Python để tăng lỗi trong khi thiết lập các biến
Có thể in các lỗi từ một lớp không? Tôi có phải trả lại Sai nếu tôi đang đưa ra một ngoại lệ không?
Chỉ muốn đảm bảo rằng tôi đang làm đúng. Dưới đây là một số mã mẫu:
@property
def password(self):
return self._password
@password.setter
def password(self,password):
# Check that password has been completed
try:
# Check that password has a length of 6 characters
if (len(password) < 6):
raise NameError('Your password must be greater \
than 6 characters')
except NameError:
print 'Please choose a password'
return False
except TypeError:
print 'Please choose a password'
return False
#Set the password
self._password = password
#Encrypt the password
password_md5 = md5.new()
password_md5.update(password)
self._password_md5 = password_md5.hexdigest()
Quá nhiều thứ có tên là 'mật khẩu' trong mã đó. (chức năng đầu tiên, hàm thứ hai, và đối số cho hàm thứ hai.) pyflakes sẽ là bạn của bạn. – keturn
@keturn: nó là một mẫu được hiển thị trong tài liệu cho hàm 'property()'. Hãy xem [ví dụ mã trong các tài liệu sử dụng 'decorator' .setter] (https://docs.python.org/3/library/functions.html#property). Bên trong phương thức setter 'password' là một biến cục bộ (tham số). Các tên khác nằm trong một không gian tên khác (chúng thuộc về lớp). – jfs