Which SPL exception should be thrown when sanity checks fail? For example, if the check() function fails when saving data with JTable or a parameter check fails? I'd prefer to use something more specific then RuntimeException.
If the answer is to extend my own exceptions, where would be the best place to put them? In a helper class file?