Đúng vậy, nhưng cá nhân tôi sẽ cấu trúc theo cách khác. Đó là thông thường để xác nhận đối số vào lúc bắt đầu của phương pháp này, và sau đó sử dụng chúng cho phần còn lại của phương pháp này biết họ đúng:
public void addCard(Card card) {
if (card == null) {
throw new IllegalArgumentException("Attempt to add null card");
}
cardList.add(card);
}
Lợi ích của việc thực hiện tất cả các thử nghiệm lý luận lên phía trước là nếu một đối số không hợp lệ được chuyển cho bạn, bạn sẽ ném một ngoại lệ trước khi bất kỳ tác dụng phụ nào xảy ra - hơn là một nửa thông qua phương thức, có thể để đối tượng ở trạng thái không hợp lệ. Tất nhiên trong trường hợp này không quan trọng, nhưng tôi ủng hộ tính thống nhất ở đây :)
Lưu ý rằng không cần khai báo IllegalArgumentException
- đó là lớp con của RuntimeException
, có nghĩa là nó không được kiểm tra (bạn không cần khai báo nó).
Nguồn
2010-10-27 19:27:01
Cảm ơn bạn đã bình luận. Không chắc chắn nếu tôi có tuyên bố thứ 4. Bạn có nghĩa là tôi không phải ném một ngoại lệ ở đây? – Eugene
@AndroidNoob - Bạn cần phải ném ngoại lệ, bạn không cần phải * tuyên bố * rằng bạn ném nó. 'public void addCard (Card card)' của chính nó là đủ, bởi vì IllegalArgumentException là một RuntimeException. –
Ah ok, hiểu rồi, cảm ơn! – Eugene