unwind-protect is more general than condition-case
duh