Use of begin, rescue, ensure and raising exceptions