powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вопрос по исключениям в PHP
2 сообщений из 2, страница 1 из 1
Вопрос по исключениям в PHP
    #38668784
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть у меня такой код:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
class HotspotException extends Exception {
	function __construct($code, $message = null, Exception $previous = null) {
		$class = (strpos($code,"_")===false ? '*' : substr($code,0,strpos($code,"_")));
		$text = self::$errmsg[$code];
		$this->class = $class;
		$this->code = $code;
		$this->text = $text;
		$this->message = $message;
		//parent::__construct((empty($message) ? $text : $message), 0, $previous);
	}

}

...

HotspotException::$title = "...";

try
{
	$unifi = new UnifiClass();
	$db = new DBClass();
	$bm = new BM6Class();
	$user = new UserClass($unifi, $db, $bm);
	...
}
catch (HotspotException $e)
{
	if ($e->class == "FAIL")
	{
		echo $e->getHTML();
		exit(0);
	}
}
catch (Exception $e)
{
	die("Unexcepted fail: " . $e->getMessage());
}

...



Я правильно понимаю, что:
1. Если сработает мое исключение с FAIL-кодом (кодом, начинающимся с FAIL_), то отобразится мой текст исключения и работа скрипта завершиться.
2. Если сработает мое исключение с другим (не FAIL) кодом, то ничего не произойдет и работа скрипта в блоке try продолжится.
3. Если сработает не мое исключение, то скрипт завершиться с die-сообщением.
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
Вопрос по исключениям в PHP
    #38668794
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да.

ток правильней делать так.

ловишь исключение, можешь исправить ситуацию, чтобы дальше работа пошла штатно - делаешь. скрипт продолжит работу.

если не можешь но надо откатить чтото откатываешь и ...
или сразу и ...
порождение этого же исключения выше throw $e;

это вместо вот того ещо что ты разкидываешь по своему коду.

а на всём коде работает глобальный твой колбек, который ловит все не словленные исключения, и уже там.
1)пишем в лог что возникло не поправимое
2)если надо чтото выдаём в ответ
3)завершаем работу.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вопрос по исключениям в PHP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]