Nice idea, but I think it is very confusing to respond with an exception when a user's commit fails to comply. The function of your module is to judge the user's commit message. Both acceptance and rejection are expected behaviour. Neither should look as if your program just crashed.