Well, it's an internal API, so if there are bad users then we need to know about them (because that would typically indicate that something else went wrong) - therefore IMHO it's better to raise an exception rather than carry on pretending that everything is OK.