Hi Maté and all,

A one-off comment about the exceptions:

The RFC posits that _Uri\UriException_ extends _Exception_, and 
_Uri\InvalidUriException_ extends _UriException_.

However, pre-existing userland solutions to the URI problem lean more heavily 
on the native PHP _InvalidArgumentException_, which extends _LogicException_. 
(Cf. 
<https://github.com/uri-interop/interface/blob/1.x/README-RESEARCH.md#exceptions>.)

(_LogicException_ "represents an error in the program logic. This kind of 
exception should lead directly to a fix in your code.")

As such, the _InvalidUriException_ would better extend from _LogicException_.

What then to do with _UriException_ ? It's a base, it never gets thrown 
anywhere. If a base is actually necessary, perhaps it should be renamed 
_UriLogicException) and extend _LogicException_; then _InvalidUriException_ can 
extend from that base. This leaves room for a _UriRuntimeException_ base, 
should one ever be needed.


-- pmj

Reply via email to