1: <?php declare(strict_types=1);
2:
3: namespace Salient\Contract\Core\Exception;
4:
5: use Stringable;
6: use Throwable;
7:
8: /**
9: * @api
10: */
11: interface Exception extends Throwable
12: {
13: /**
14: * Get exit status to return if the exception is not caught
15: */
16: public function getExitStatus(): ?int;
17:
18: /**
19: * Get exception metadata
20: *
21: * @return array<string,int|float|string|bool|Stringable|null>
22: */
23: public function getMetadata(): array;
24: }
25: