E_RECOVERABLE_ERROR
Following my posting and the following discussion about "Type Hints throwing a fatal-non-catchable error when a wrong object is passed", I wrote up a patch that adds a new error level to PHP (6): E_RECOVERABLE_ERROR. This error level can be used for cases where the engine decides that something is wrong, but when it doesn't end up in an unstable state. This means that we have yet another level, and they should be used IMO for the following cases:
E_NOTICE: Just for little notices to inform the user that something might have gone wrong.
E_WARNING: Something went wrong, probably resulting in unwanted behaviour
-
should be fixed by the script's writer.
E_RECOVERABLE_ERROR: An error situation occurred, which is probably dangerous for a script to continue, but does not leave the Engine itself in an unstable state. If this one is not caught in a user defined error handler, the application aborts.
E_ERROR: The engine is in an unstable state, we have to abort. Not catchable by a user defined error handler.
For now the new error level E_RECOVERABLE_ERROR is only implemented for type-hints, but lots of extensions are still using E_ERROR, when there is no need for it. They need updating to make those errors E_RECOVERABLE_ERROR, or preferably E_WARNING (or even E_NOTICE).
Update: We renamed E_RECOVERABLE to E_RECOVERABLE_ERROR.
The patch is online for 6.0 (already committed) and 5.1 (not committed).
Life Line
I hiked 2.0km in 54m55s
I hiked 7.4km in 4h45m01s
I hiked 5.5km in 4h19m08s
Updated a restaurant, a pub, and a hotel; Deleted a resort; Confirmed a farm shop
I hiked 1.3km in 1h1m31s
I hiked 1.9km in 1h52m56s
I hiked 2.9km in 2h55m04s
I hiked 1.6km in 1h16m55s
I hiked 4.8km in 1h22m37s
Specify whether pitches are lit
Survey whether benches have backrests
Specify what can be recycled in recycling containers
Specify type of recycling amenities
Survey postbox collection times
Determine whether any glass or just glass bottles can be recycled here
Specify whether bicycles can be charged at charging stations
Specify whether pedestrian crossings have islands
Specify whether pedestrian crossings have traffic signals
Specify parking types
Specify bicycle parking types
Add whether public transport stops are lit
Specify whether public transport stops have tactile paving
Determine the heights of kerbs at crossings
Specify whether roads have lane markings

Shortlink
This article has a short URL available: https://drck.me/e-44h