Я делаю простую карточную игру на PHP.Когда пользователь пытается разыграть карту, я хочу выдать исключение, если он может / не может.Вместо того, чтобы возвращать число с определенным значением (например, 1 означает плохую карту, 2 означает не ваша очередь ... и т. Д.), Я хотел использовать настраиваемые исключения.Я поймал бы эти исключения и отобразил бы сообщение пользователю.
Я понимаю, что исключения предназначены для необычных ошибок, но я думаю, что это хороший способ разработать мою программу.
Проблема: мои исключения неясны.У меня есть страница с именем play.php, которая управляет классом Game, у которого есть Round, который выдает исключение.Страница play.php получает информацию об игре и выполняет вызовы функций.Тем не менее, он говорит, что исключение не пойман в раунде.
Есть ли быстрое решение для этого?Как я могу добавить исключение из моего класса Round на мою страницу play.php?
// in PLAY.php
try {
$game->round->startRound($game->players);
} catch (RoundAlreadyStartedException $e) {
echo $e->getMessage();
}
// in ROUND class
if (!($this->plays % (self::PLAYS_PER_ROUND + $this->dealer))) {
try {
throw new RoundAlreadyStartedException();
} catch (RoundAlreadyStartedException $e) {
throw $e;
}
return;
}
Я пытался ловить, не ловить, бросать, бросать и т. Д.