Bắt buộc phải có ạ. Mình cứ tưởng không có cũng được chứ @@
Hỏi về cách dừng một hàm khi điều kiện sai
Hi gioi.
Trước khi dùng hàm thì việc đầu tiên là đọc tài liệu về nó. Việc không kiểm tra các biến ngoài truyền vào giảm bớt các đoạn code thừa. Cũng như các kiểm tra không cần thiết được thực hiện qua nhiều lớp.
VD hàm thương dùng trong tính giá trị phân số thì rõ rang mẫu bằng không không thể xay ra. Nếu có nó phải được kiểm tra trước khi dùng hàm tính giá trị (Trong hàm khới tạo chẳn hạn).
Hoặc trong trương hợp hàm thương được viết cho thư viện số lớn thì thay vì phải truyền biến trạng thái hoặc bắt lỗi nén ra thì trước khi gọi hàm cần kiểm tra các biến vào từ đó không mất công gọi hàm nữa có thể chuyển hướng chương trình luôn.
Mình chưa viết cái đó bao giờ @_@!
Không catch thì chương trình của bạn sẽ dừng một cách bất bình thường
Mình chỉ đưa ví dụ kia để hỏi về throw thôi chứ không áp dụng vô bài đó bạn ạ.
Hi Kira. (death note).
Trong lập trình thương hay gặp trương hợp mà các lỗi sinh ra do các biến được truyền từ ngoài vào không hợp lệ không chỉ riêng chia cho 0, có thể là con trỏ chưa câp phát hoặc index ngoài mảng v.v.v… Cần tìm một giải pháp chung cho các trường hợp đó.
Theo mình là code lười. Mình cũng rất mong tìm được một giải pháp nào đó co tâm hơn tro các trường hợp như vậy.
Ô bạn này? null là null, 0 là 0, lại có khái niệm return null là trả về 0 cơ đấy :))
Người ta học C++ mà =))
với hàm int, float bạn return null
xem có phải là 0 không . Mình biết ý nghĩa của null nhưng trong trường hợp cụ thể trên thì là 0 còn gì
“Đại khái” thôi nha
UnitTest là thứ mà dev phải làm khi viết hàm nào đó. Nó là tập hợp các trạng thái có thể xảy ra đối với param input… Nếu hàm của bạn cho kết quả không mong muốn thì bạn phải viết lại hàm đó.
Nếu bạn ko viết UnitTest thì có 2 khả năng là:
1- Anh Leader sẽ đút cháo cho bạn.
2- Cả Team đút cháo cho anh Leader.
Tks bạn. Mình mới năm 1 đh à
Dùng cái này cho hại não:
bool tt |(bool a, bool b).
Động cực kỳ.
Trời tới giờ mình mới biết tới assert() phải nghiên cứu thanks!
bên trái là 0
bên phải là null
2 cái khác nhau. Tại C/C++ cùi hủi nên mới cho 2 cái là 1. C++11 có thểm kiểu nullptr_t
để vá lỗi này nhưng vì vẫn phải backward compatible với anh C nên cùi vẫn hoàn cùi…
Đó là do bạn không có tag C++ thôi :))
Chứ C++ làm gì có “float?”
Mình nói rõ nhé, “float?” chứ không phải “float”
code mình viết ở trên là C#
Nếu mà là int hoặc float, return null chương trình sẽ báo lỗi, vì int và float và nhiều kiểu dữ liệu khác là “not nullable”
Ặc ựa, lúc nãy không thấy C++ đâu, giờ lại thấy tag C++ với một đống code @@
Mod đi ngang tag hộ mình
Bạn có thể dùng hàm exit() để dừng chương trình khi mẫu số = 0