1<?php
2namespace TYPO3\CMS\Core\Error;
3
4/*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17/**
18 * Contract for an exception handler
19 *
20 * This file is a backport from TYPO3 Flow
21 */
22interface ExceptionHandlerInterface
23{
24    /**
25     * Constructs this exception handler - registers itself as the default exception handler.
26     */
27    public function __construct();
28
29    /**
30     * Handles the given exception
31     *
32     * @param \Throwable $exception The throwable object.
33     */
34    public function handleException(\Throwable $exception);
35
36    /**
37     * Formats and echoes the exception as XHTML.
38     *
39     * @param \Throwable $exception The throwable object.
40     */
41    public function echoExceptionWeb(\Throwable $exception);
42
43    /**
44     * Formats and echoes the exception for the command line
45     *
46     * @param \Throwable $exception The throwable object.
47     */
48    public function echoExceptionCLI(\Throwable $exception);
49}
50