"I wonder whether there is an imperative language that enforces explicit handling of errors..."
Java does that. If a method can throw an exception, you need to either handle the exception in a 'catch' block or throw it up the call stack for another method to handle. If you do neither, your code won't compile.