Tôi cũng phải đối mặt với tình trạng này, và giống như bạn, không muốn không biết bao nhiêu nếu/else if/else if/else vì nó làm cho mã dễ đọc hơn.
Tôi đã tự mình mở rộng lớp Ngoại lệ. Lớp ví dụ bên dưới dành cho các vấn đề xác thực khi được kích hoạt sẽ tạo ra 'thông báo đăng nhập' ít nghiêm trọng hơn
class ValidationEx extends Exception
{
public function __construct($message, $code = 0, Exception $previous = null)
{
parent::__construct($message, $code, $previous);
}
public function __toString()
{
return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
}
}
Trong mã chính của tôi, tôi gọi nó;
throw new ValidationEx('You maniac!');
Sau đó, ở phần cuối của báo cáo kết quả Thử Tôi có
catch(ValidationEx $e) { echo $e->getMessage(); }
catch(Exception $e){ echo $e->getMessage(); }
hạnh phúc để lấy ý kiến và những lời chỉ trích, chúng tôi tất cả đây để tìm hiểu!
'ném (' Đưa tôi ra khỏi đây! ') 'Sẽ nhảy ra. nhưng đó không phải là chính xác. –
bạn không thể sử dụng khác sau nếu được không? – mattfryercom
@MattyF - +1, có vẻ như là câu trả lời cho tôi! – adeneo