Personally, I don't like to deliberately cause an error, as jumps to the error handler and back make me dizzy. Besides, if you have other array references in there, it might just hide a real error.
Here's a good article with additional options, including writing your own alternative UBound function:
http://www.vbadvance.com/arrays.htm
[1] My apologies to the author for not giving due credit - I did not see a name.[/1]