Favoured exceptions over return values