A composable exception handler