Ok now i have proven diffinitivly that an error of -2 traped in a try endtry is simply an abort inside the try endtry.
What can not be know is the error number and that is why i thought for some reason -2 was stack overflow but that in reality is error -3.
So my code here is good and the -2 errors i see are because of the socket.fs program detecting some socket error mostlikely socket read error.
I added better listdberrors and listdbdata function that will wait for sqlite3 to be error free while quering it.