I think Midori might have gotten error handling right, without getting rid of exceptions. It's too bad it only lives on in a series of blog posts.
I wish I could summarize the error model here, but I really couldn't do it justice. Read the blog post -- it's very good.