Skip to content

Commit 6ec0fab

Browse files
committed
refactor(SanitizationException): Replace instance-based exception with static method invalidInput()
- Added static method `invalidInput()` to handle invalid input exceptions without requiring instantiation - Utilizes `CODE_INVALID_INPUT` for consistent error code management - Streamlines exception handling by enabling direct static calls This refactor simplifies exception creation and enforces consistent error handling.
1 parent 23c8aa8 commit 6ec0fab

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

src/Exception/SanitizationException.php

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,23 @@
44

55
namespace KaririCode\Sanitizer\Exception;
66

7-
final class SanitizationException extends \RuntimeException
7+
use KaririCode\Exception\AbstractException;
8+
9+
final class SanitizationException extends AbstractException
810
{
11+
private const CODE_INVALID_INPUT = 4001;
12+
13+
public static function invalidInput(string $expectedType): self
14+
{
15+
$message = sprintf(
16+
'Input must be a %s',
17+
$expectedType
18+
);
19+
20+
return self::createException(
21+
self::CODE_INVALID_INPUT,
22+
'INVALID_INPUT',
23+
$message
24+
);
25+
}
926
}

src/Processor/AbstractSanitizerProcessor.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ abstract class AbstractSanitizerProcessor implements Processor
1212
protected function guardAgainstNonString(mixed $input): string
1313
{
1414
if (!is_string($input)) {
15-
throw new SanitizationException('Input must be a string');
15+
throw SanitizationException::invalidInput('string');
1616
}
1717

1818
return $input;

0 commit comments

Comments
 (0)