Handling Triggers

I am trying to do more complicated validations that depend on associations between tables. This eliminates the possibility of me using constraints, however I can still accomplish these validations with a trigger. How can I handle an exception thrown by a trigger? Is there any built in way to convert this to a changeset error?