Some kind of progress on cacthing exceptions but still really confused :(