Hi starl,
There are a number of ways of "handling" these types of errors, but there is no "best" method. The best method depends on what your function does, how you expect to use it, and what the cause of the 0/0 is. Here are some examples:
1. you are computing a value that has a "limit value" (a la L'Hospital's rule), such as sin(x)/x, which approaches 1 as x approaches 0. In this case since the 0/0 should in fact yield a 1, you should use an IF test to check for x = 0 and yield a 1.
2. your function will only be called as a UDF from a worksheet cell, and never from another VBA function or macro. In this case you might want to have the function yield a #DIV/0! error. You can do this by using an error handler to trap the error and then assigning CVErr(xlErrDiv0) to the function return value. The function must yield a Variant data type in order to do this.
3. Your function will only be called from another VBA function or macro. In this case you might want to consider assigning the function return value to Null. This will enable the calculations to proceed without a fatal error or any exception handling, and all calculations that use this value will also yield a Null result. As in (2) above this requires that the function yield a Variant result. This can be a good way to handle calculations that have a range of validity, but you don't want input values that are outside this range to cause a fatal error that stops other valid calculations from occurring.
If you want to post your code, or describe what it calculates, a response that is more tailored to your question might be possible.