Error Handling: From Theory to Practice