603b7eed78cd8857623f48c44d0b51f93337821f
[yaffs-website] / Event / ConsoleExceptionEvent.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\Console\Event;
13
14 use Symfony\Component\Console\Command\Command;
15 use Symfony\Component\Console\Input\InputInterface;
16 use Symfony\Component\Console\Output\OutputInterface;
17
18 /**
19  * Allows to handle exception thrown in a command.
20  *
21  * @author Fabien Potencier <fabien@symfony.com>
22  */
23 class ConsoleExceptionEvent extends ConsoleEvent
24 {
25     private $exception;
26     private $exitCode;
27
28     public function __construct(Command $command, InputInterface $input, OutputInterface $output, \Exception $exception, $exitCode)
29     {
30         parent::__construct($command, $input, $output);
31
32         $this->setException($exception);
33         $this->exitCode = (int) $exitCode;
34     }
35
36     /**
37      * Returns the thrown exception.
38      *
39      * @return \Exception The thrown exception
40      */
41     public function getException()
42     {
43         return $this->exception;
44     }
45
46     /**
47      * Replaces the thrown exception.
48      *
49      * This exception will be thrown if no response is set in the event.
50      *
51      * @param \Exception $exception The thrown exception
52      */
53     public function setException(\Exception $exception)
54     {
55         $this->exception = $exception;
56     }
57
58     /**
59      * Gets the exit code.
60      *
61      * @return int The command exit code
62      */
63     public function getExitCode()
64     {
65         return $this->exitCode;
66     }
67 }