It is safe now, but still I wouldn't use a failure to achieve something. This could always be changed to return something else. It would be better if a function would be created that deliberately and *always* returns and empty string. empty_string() maybe?