<p>If I have a trigger before the update on a table, how can I throw an error that prevents the update on that table?</p>

Here is one hack
that may work. It isn't clean, but it looks like it might work:
Essentially, you just try to update a column that doesn't exist.