Throw another Exception during already throwing one: различия между версиями
Материал из AlexNook
Перейти к навигацииПерейти к поиску
ALEX (обсуждение | вклад) |
ALEX (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 57: | Строка 57: | ||
}} | }} | ||
Результат выполнения | |||
<syntaxhighlight lang="bash" line start="1" line="GESHI_FANCY_LINE_NUMBERS" enclose="div"> | |||
donik /home/alex # php 11111.php | |||
Programm started | |||
Instance of class A created | |||
Instance of class B created | |||
Cought object of B class | |||
Cought object of A class | |||
</syntaxhighlight> | |||
==Ссылки== | |||
* [https://www.php.net/manual/ru/language.exceptions.php Исключения в php] | |||
///// | |||
[[Category:Index]] | [[Category:Index]] | ||
[[Category:Software]] | [[Category:Software]] |
Текущая версия на 14:34, 17 июня 2025
Как отрабатывает php код, когда мы бросаем исключение, создавая объект throwable, в момент создания которого мы бросаем ещё одно исключение.
Пример кода
File: index.php
<?php
class A extends Exception
{
public function __construct()
{
try
{
echo "Instance of class A created\n";
throw new B();
echo "Some B class code executed";
}
catch(B $b)
{
echo "Cought object of B class\n";
}
}
}
class B extends Exception
{
public function __construct()
{
echo "Instance of class B created\n";
}
}
///////////////////////////////////////////////////////////
try
{
echo "Programm started\n";
throw new A();
echo "Programm execution continues\n";
}
catch(A $a)
{
echo "Cought object of A class\n";
}
Результат выполнения
donik /home/alex # php 11111.php
Programm started
Instance of class A created
Instance of class B created
Cought object of B class
Cought object of A class