BaseExceptionHandler::handle()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2.0625

Importance

Changes 0
Metric Value
eloc 3
dl 0
loc 7
c 0
b 0
f 0
ccs 3
cts 4
cp 0.75
rs 10
cc 2
nc 2
nop 1
crap 2.0625
1
<?php
2
3
namespace linkprofit\Tracker\exception;
4
5
/**
6
 * Class BaseExceptionHandler
7
 * @package linkprofit\Tracker\exception
8
 */
9
abstract class BaseExceptionHandler implements ExceptionHandlerInterface
10
{
11
    /**
12
     * @var array
13
     */
14
    protected $availableExceptions = [];
15
16
    /**
17
     * @var array
18
     */
19
    protected $exceptionCodes = [
20
        null => 'Unknown success/error (success true/false)',
21
        101 => 'User not found (Пользователь с таким логином и паролем не найден в системе)',
22
        102 => 'User login is empty (Логин пользователя не был передан в систему для аутентификации)',
23
        103 => 'User password is empty (Пароль пользователя не был передан в систему для аутентификации)',
24
        107 => 'Employer login is empty (Логин сотрудника не был передан в систему для аутентификации)',
25
        108 => 'Employer password is empty (Пароль сотрудника не был передан в систему для аутентификации)',
26
        109 => 'Employer not found (Сотрудник с таким логином и паролем не найден в системе)',
27
        110 => 'User is not authorized (Пользователь не авторизован. Необходима авторизация.)',
28
        111 => 'Employer is not authorized (Сотрудник не авторизован, требуется повторная авторизация)',
29
        112 => 'Employer is not access to this area (Сотрудник не имеет доступа к данной операции)',
30
    ];
31
32
    /**
33
     * @param $errorCode
34
     * @throws TrackerException
35
     */
36 1
    public function handle($errorCode)
37
    {
38 1
        if (!in_array($errorCode, $this->availableExceptions)) {
39 1
            throw new TrackerException('Неизвестная ошибка', $errorCode);
40
        }
41
42
        throw new TrackerException($this->exceptionCodes[$errorCode], $errorCode);
43
    }
44
}