OnValidate is called automatically, but I'm afraid your try... catch block does not see it. Can you post your call stack when your exception gets thrown.