forked from StydeNet/enlighten
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathExceptionInfo.php
59 lines (47 loc) · 1.1 KB
/
ExceptionInfo.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
namespace Styde\Enlighten;
use Illuminate\Validation\ValidationException;
use Throwable;
class ExceptionInfo
{
public static function make(Throwable $exception): ExceptionInfo
{
return new self($exception);
}
public function __construct(private readonly Throwable $exception)
{
}
public function getClassName(): string
{
return $this->exception::class;
}
public function getCode(): int
{
return $this->exception->getCode();
}
public function getMessage(): string
{
return $this->exception->getMessage();
}
public function getFile(): string
{
return $this->exception->getFile();
}
public function getLine(): int
{
return $this->exception->getLine();
}
public function getTrace(): array
{
return $this->exception->getTrace();
}
public function getData(): array
{
if ($this->exception instanceof ValidationException) {
return [
'errors' => $this->exception->errors(),
];
}
return [];
}
}