Not sure I follow.  Unexpected errors would still be raised this way (only the itemnotfound and nopathtoitem errors are caught).  I didn't want to tie this function to the loop, so I tried to make this function somewhat general purpose in what it did.