Разрыв метода цепочки в php - PullRequest
1 голос
/ 08 февраля 2010

Я использую цепочку методов для своей структуры классов.

Итак, моя проблема в том, как я могу разорвать свою цепь, если в какой-то функции произошла ошибка.

Ниже мой код:

 <?php
    class demo
    {
        public __construct()
        {
            $this->a='a';
            $this->b='b';
            $this->error = false;
        }

        public function demo1()
        {
            // Some operation here
            // Now based on that operation

            if(Operation success)
            {
                return $this;
            }
            else
            {
                // What should i write here which break the chain of methods.
                // It will not execute the second function demo2
            }
        }

        public function demo2()
        {
            // Some operation here
            // After function Demo1
        }

    }

    $demoClass = new demo();

    $demoClass->demo1()->demo2();

?>

EDIT:

$demoClass = new demo();

    try
    {
        $demoClass->demo1()->demo2();
    }
    catch(Exception $e)
    {
        echo "Caught Exception:->".$e->getMessage();
    }   

Спасибо

Авинаш

1 Ответ

3 голосов
/ 08 февраля 2010

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

        if(Operation success)
        {
            return $this;
        }
        else
        {
            // What should i write here which break the chain of methods.
            // It will not execute the second function demo2

            throw new Exception('error');
        }
...