Tôi có nên sử dụng phương pháp này lỗi ném:sử dụng đúng cách thử .. bắt
if (isset($this->dbfields[$var])) {
return $this->dbfields[$var];
} else {
throw new FieldNotFoundException($var);
}
hay phong cách này:
try {
return $this->dbfields[$var];
} catch (Exception $e) {
throw new FieldNotFoundException($var);
}
... hay cái gì khác hoàn toàn?
giải thích nhanh về mã:$this->dbfields
là một mảng. isset()
kiểm tra xem biến có được đặt hay không, trong trường hợp này, cho dù phần tử mảng có tồn tại hay không.
Với số 2 bạn không thực sự có để ném một ngoại lệ, chỉ cần in ra một trong những bạn bắt. – Rayne
cũng là tiêu chuẩn "mảng khóa không tồn tại" lỗi (mà thậm chí không phải là một ngoại lệ, bây giờ tôi nghĩ về nó), sẽ không có ý nghĩa trong cách tôi đang sử dụng này. – nickf