Until https://issues.jboss.org/browse/TEIID-1386 is worked exceptions are not handled well in our procedure language. The two current approaches are to take steps prior to you action to avoid an exceptional condition, for example selecting to see if a row exists before inserting. The other is to handle the exceptional case in your application layer calling Teiid. You can of course add customized handling at the translator layer as well, but that's not a great solution most of the time.
With TEIID-1386 we'll add appropriate exception handling logic to our block syntax.