lError = .f. on error lError = .t. error(1116) ? lErrorlError remains false. All the other errors observe the error handler. This is easily discovered putting error[i] in a FOR loop with an ON ERROR condition. I was populating an errors table with all the VFP error numbers and messages for each error[i] that returned a message{} that was not Error code is not valid.