Zero divisor: /
Posted: Fri Jan 18, 2008 6:15 pm
Gente acontece de vez enquando este erro: Zero divisor: /
O problema é que sistema aborta sem gerar o error.log.
Alguem sabe como contornar? Pois não sei como resolver e o sistema não chega nem a gerar o error.log.
Para descobrir este erro fiz um controle de erro, assim:
bOldError := ErrorBlock( {|e| BReak(E) })
errorblock({ |oErro, a, b, c| Erro_LiberaMesa(oErro), eval(bOldError, oErro, a, b, c)})
/******************************************************************************/
function Erro_LiberaMesa(oerro)
/*
*/
local nArq,nFWarq:="Erro"+SUBSTR(TIME(),4,2)+SUBSTR(TIME(),7,2)+".txt",cstack:=""
cstack:="FIVEWIN ERROR:"+CRLF
cstack+=dtoc(date())+" "+time()+" error: "+oErro:description+": "+oErro:Operation+CRLF
cstack+=" Line: "+Str( ProcLine(), 4 )+" Arquivo: "+procfile()+ CRLF
cstack+=" Line: "+Str( ProcLine(1), 4 )+ CRLF
cstack+=" Line: "+Str( ProcLine(2), 4 )+ CRLF
cstack+=" Line: "+Str( ProcLine(3), 4 )+ CRLF
MemoWrit(Curdrive()+':\'+curdir()+'\'+nFWarq,cstack)
return(.t.)
O problema é que sistema aborta sem gerar o error.log.
Alguem sabe como contornar? Pois não sei como resolver e o sistema não chega nem a gerar o error.log.
Para descobrir este erro fiz um controle de erro, assim:
bOldError := ErrorBlock( {|e| BReak(E) })
errorblock({ |oErro, a, b, c| Erro_LiberaMesa(oErro), eval(bOldError, oErro, a, b, c)})
/******************************************************************************/
function Erro_LiberaMesa(oerro)
/*
*/
local nArq,nFWarq:="Erro"+SUBSTR(TIME(),4,2)+SUBSTR(TIME(),7,2)+".txt",cstack:=""
cstack:="FIVEWIN ERROR:"+CRLF
cstack+=dtoc(date())+" "+time()+" error: "+oErro:description+": "+oErro:Operation+CRLF
cstack+=" Line: "+Str( ProcLine(), 4 )+" Arquivo: "+procfile()+ CRLF
cstack+=" Line: "+Str( ProcLine(1), 4 )+ CRLF
cstack+=" Line: "+Str( ProcLine(2), 4 )+ CRLF
cstack+=" Line: "+Str( ProcLine(3), 4 )+ CRLF
MemoWrit(Curdrive()+':\'+curdir()+'\'+nFWarq,cstack)
return(.t.)