On Mon, Aug 31, 2026, at 11:05, Tim Düsterhus wrote: > > This will throw an error for octdec, hexdec, bindec and base_convert on > > invalid input. > > I'm not sure ValueError is the correct throwable to use here: I believe > passing “user-provided” inputs to these methods might be an expected use > case, where developers would then be interested in catching the > resulting exception as an implicit validation mechanism. This is also > acknowledged by the RFC: ... > > The Error hierarchy is not intended to be caught, though. It should thus > use something from the Exception hierarchy.
I wasn't aware of a distinction between error and exception objects like this. Is this documented somewhere? Is there a policy when to throw errors and when to throw exceptions? Does the documentation describe that developers should only catch exceptions and not errors? Why would these functions be used for user input more often than other functions? How can we determine whether a function should throw an exception or an error? I think ValueError is still the right thing to throw. On Mon, Aug 31, 2026, at 11:05, Tim Düsterhus wrote: > On 2026-08-28 10:24, Sjoerd Langkemper wrote: > > Next Friday I'll open the vote for the RFC for Throw ValueError for > > invalid characters in number base functions. > > From what I see this is the first email regarding this RFC The RFC was announced here: https://news-web.php.net/php.internals/132219 And before that the same idea in another RFC: https://news-web.php.net/php.internals/131448 This gave more than a month to respond to the proposal, and exactly two weaks for responding to the exact RFC. Regards, Sjoerd
