Ném lỗi khi đối số không hợp lệ
Nếu người dùng cung cấp đầu vào không hợp lệ cho một hàm, cách xử lý tốt nhất là ném ra lỗi để họ biết. Có hai quy tắc:
- Ném thông báo lỗi ngay khi bạn phát hiện có vấn đề (thường là ở đầu hàm).
- Khiến thông báo lỗi dễ hiểu.
Bạn có thể dùng các hàm assert_*() từ assertive để kiểm tra đầu vào và ném lỗi khi chúng không đạt yêu cầu.
Bài tập này là một phần của khóa học
Nhập môn viết hàm trong R
Hướng dẫn bài tập
- Thêm một dòng vào phần thân của
calc_harmonic_mean()để khẳng định rằngxlà số. - Hãy xem điều gì xảy ra khi bạn truyền một đối số kiểu ký tự vào
calc_harmonic_mean().
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
calc_harmonic_mean <- function(x, na.rm = FALSE) {
# Assert that x is numeric
___
x %>%
get_reciprocal() %>%
mean(na.rm = na.rm) %>%
get_reciprocal()
}
# See what happens when you pass it strings
calc_harmonic_mean(std_and_poor500$sector)