系统错误日志函数

发一个系统错误日志函数
2007-06-12 20:35

将这个函数写到app的systemerror事件即可

//==============================================================================
// 名称: Function - gf_apperror
//------------------------------------------------------------------------------
// 功能: 应用错误
//------------------------------------------------------------------------------
// 参数:
//    1.Integer ai_sysid <说明>
//------------------------------------------------------------------------------
// 返回: Integer
//------------------------------------------------------------------------------
// 作者: Sunlf   日期: 2001.12.12
//------------------------------------------------------------------------------
// 修改:       日期:
//------------------------------------------------------------------------------
// 备注:
//==============================================================================

String    ls_ErrInfo

ls_ErrInfo = "1.代号:" + String(Error.Number) + "~n" + &
      "2.信息:" + Error.Text + "~n" + &
      "3.对象:" + Error.WindowMenu + "~n" + &
      "4.控件:" + Error.Object + "~n" + &
      "5.脚本:" + Error.ObjectEvent + "~n" + &
      "6.行号:" + "第 " + String(Error.Line) + " 行"

IF sqlca.DBHandle() <= 0 THEN GOTO Process_WriteFile   // 数据库未连接

//==============================================================================
// 为防止系统非法操作事务不能回滚,不管有没有事务发生均执行Rollback函数
//==============================================================================
gf_Rollback_Transaction(sqlca)

//==============================================================================
// 在数据库中写错误日志
//==============================================================================
gf_InsertErrLog(Error.Number,Error.Text,Error.WindowMenu,Error.Object,&
                 Error.Objectevent,Error.Line)

//GOTO Process_ShowError

//==============================================================================
// 在文件中写错误日志
//==============================================================================
Process_WriteFile:

Integer li_FileNum

li_FileNum = FileOpen("AppError.txt",LineMode!,Write!,LockWrite!,Append!)

FileWrite(li_FileNum,"")
FileWrite(li_FileNum,"//==============================================================================")
FileWrite(li_FileNum,"// " + String(Today(),"yyyy.mm.dd") + " " + String(Now(),"hh:mm:ss"))
FileWrite(li_FileNum,"//------------------------------------------------------------------------------")
FileWrite(li_FileNum,"    1.代号:" + String(Error.Number))
FileWrite(li_FileNum,"    2.信息:" + Error.Text)
FileWrite(li_FileNum,"    3.对象:" + Error.WindowMenu)
FileWrite(li_FileNum,"    4.控件:" + Error.Object)
FileWrite(li_FileNum,"    5.脚本:" + Error.ObjectEvent)
FileWrite(li_FileNum,"    6.行号:" + "第 " + String(Error.Line) + " 行")
FileWrite(li_FileNum,"//==============================================================================")

FileClose(li_FileNum)

//==============================================================================
// 提示错误信息
//==============================================================================
//Process_ShowError:
ls_ErrInfo = "~n系统发生错误,请记录以下错误信息后联系管理员处理。~n~n" + ls_ErrInfo + &
      "~n~n是否退出系统?"

IF MessageBox("提示信息",ls_ErrInfo,StopSign!,YesNo!,1) = 1 THEN
HALT CLOSE
END IF

RETURN 1

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值