Nothing in that code throws an exception (that can be caught by catch or the ArmA error handling system). Even I wrote code in naive ways back in the day ;P
In other languages, a command like parseNumber would raise an exception if you gave it bad data, like "Cheese", however in ArmA, you just get given the value 0. The code still works correctly, however, since a value of 0 denotes that you can't deposit the amount anyway. The expression, "(str _depositAmount) == _depositStr", checks this anyway, since "0" (value parsed) would not be equal to "Cheese" (value input)! Talk about belt and bracers!
Anyway, it is through a lot of daft mistakes like this that I learned how things work, so I can't complain. Sorry if I confuse you all sometimes, but don't be afraid to query things like this when they do leave you lost...