If you want to store the errors in a variable, you'll have to return the error, or a list of errors, instead of throwing them.
IList<Exception> ValidateAndThrow(object someObject){
IList<Exception> errors = new List<Exception>();
try{
SomethingGoesWrong();
} catch (Exception e){
errors.Add(e);
}
return errors;
}