Tôi có một câu hỏi thiết kế đơn giản (?).C: Lỗi ném khi kiểm tra tham số hoặc để nó chạm vào quạt?
Tôi đang viết một chương trình đơn giản, có một vài chức năng giống như thế này.
float foo (float* m,size_t n){
float result;
//do some calculations, for example a sum
return result/n;
}
Tôi có một số câu hỏi về điều này, không có ý định mở lại một số cuộc chiến thánh thiện.
Tôi có nên thêm kiểm tra sanity trên n
không? Nếu vậy, tôi nên cho người gọi biết như thế nào?
Trả lại -1
trông kỳ lạ trên phao;
float foo(float *m,size_t n){
if (n == 0) return -1f
...
}
tùy chọn khác của tôi là một tham số ra
float foo(float *m,size_t n, int *error){
if (n==0){
*error = 1;
return 0f;
}
...
}
cập nhật
Đây là loại một chương trình đồ chơi, chỉ cần cố gắng để thực hành một số nội dung. Câu hỏi đặt ra sự thật đó. Có lẽ tôi nên rephrase để "làm thế nào để xử lý lỗi mà không có (OOP) trường hợp ngoại lệ".
Đồng thời xem xét thử nghiệm n
trước khi thực hiện cuộc gọi, nhưng không thích nó nhiều.
Mọi suy nghĩ? Cảm ơn trước.
Có thể hữu ích khi nghe thêm về môi trường chức năng. Chúng có tồn tại trong cơ thể mã với các thực hành kiểm tra lỗi đã được thiết lập hay không hoặc mã của bên thứ ba có những kỳ vọng nhất định? Đây có phải là một dự án đồ chơi độc lập không? – TSomKes
@TsomKes đã cập nhật câu hỏi của tôi. – Tom