diff options
Diffstat (limited to 'src/CepNotFoundException.php')
| -rw-r--r-- | src/CepNotFoundException.php | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/CepNotFoundException.php b/src/CepNotFoundException.php index c64de8b..e9511e7 100644 --- a/src/CepNotFoundException.php +++ b/src/CepNotFoundException.php @@ -9,7 +9,26 @@ namespace Cepis; * * Extends `\OutOfBoundsException`, the SPL type for a value that is not a * valid key: looking a CEP up is conceptually a key lookup. + * + * {@see CepNotFoundException::$faixa} may name the municipality the CEP would + * have belonged to. It does not soften the answer — the CEP still does not + * exist — it only makes the failure sayable: *"we could not find that CEP in + * Areal/RJ"* rather than *"CEP not found"*. */ final class CepNotFoundException extends \OutOfBoundsException implements CepisException { + /** + * @param Faixa|null $faixa The municipality whose range covers the CEP, or + * `null` when the API sent none — which is the case for a CEP in a band + * no municipality owns, and also whenever the block cannot be read. + * Never assume it is there. See {@see Faixa} for why the range it + * carries is not a list of valid CEPs. + */ + public function __construct( + string $message, + public readonly ?Faixa $faixa = null, + ?\Throwable $previous = null, + ) { + parent::__construct($message, 0, $previous); + } } |