A paradigm for dealing with exceptions