文章 "MQL5中的错误处理和日志记录" 新评论 MetaQuotes 2016.01.28 09:27 新文章 MQL5中的错误处理和日志记录已发布:本文着力介绍和软件错误处理相关的常见问题。另外,介绍了日志项及用MQL5工具包实现日志记录。在大多数程序的执行过程中,错误总可能偶尔出现。对它们的恰当处理是高质量和稳定的软件重要的特征。本文将包含错误处理的主要方法,使用它们的一些建议以及通过MQL5工具包做日志记录。 错误处理是一个相对来说困难且有争议的话题。有许多错误处理的方法,每一种都有其特有的优点和缺点。很多方法可以合一起使用,但没有统一的标准 — 每一项特定的任务都需要一个合适的方法。用MQL5工具包做日志记录 日志文件通常由程序创建以便于开发者查找失败/报错的原因,以及在某个特定的时刻评估系统条件等。除此之外,日志记录可用于软件分析。 日志等级 通常日志文件中接收到的信息类型各不相同,且需要不同的关注等级。日志等级用于将含有各种类型的信息区分开来,并且能够对显示信息的类别自定义。通常实现有几种日志等级: Debug: 调试信息。这个等级的日志包含在开发、调试和试运行阶段。Info: 信息性消息。它们携带各种系统活动的信息(例如,操作开始/结束,开/平仓等)。这个级别的消息通常不需要任何反馈,但能够明显有助于研究导致报错的事件链。Warning: 告警信息。这个级别的信息可能包含导致报错的场景描述,无需用户介入。例如,如果计算后的交易量小于最低允许交易量,程序自动修正它,然后以《告警》级别在日志中记录下来。Error: 需要干预的报错信息。这个日志记录级别通常用于与保存一个特定的文件,打开和修改订单等发生错误时。换句话说,此类错误程序无法自己修复,因此需要用户或开发者的干预。致命的: 严重的错误信息,程序无法继续运行。这个级别的报错信息需要立即处理,通过email,SMS等方式通知用户或者程序开发者。下面我们将向您展示在MQL5中如何使用PUSH通知。2015.09.23 09:02:10, USDCAD (D1), INFO: 2015.09.23 09:02:10, USDCAD (D1), INFO: ---------- OnInit() ----------- 2015.09.23 09:02:10, USDCAD (D1), DEBUG: Example of debug message (LoggerTest.mq5; int OnInit(); Line: 36) 2015.09.23 09:02:10, USDCAD (D1), INFO: Example of info message (LoggerTest.mq5; int OnInit(); Line: 38) 2015.09.23 09:02:10, USDCAD (D1), WARNING: Example of warning message (LoggerTest.mq5; int OnInit(); Line: 40) 2015.09.23 09:02:10, USDCAD (D1), ERROR: Example of error message (LoggerTest.mq5; int OnInit(); Line: 42) 2015.09.23 09:02:10, USDCAD (D1), FATAL: Example of fatal message (LoggerTest.mq5; int OnInit(); Line: 44)作者:Sergey Eremin 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
新文章 MQL5中的错误处理和日志记录已发布:
本文着力介绍和软件错误处理相关的常见问题。另外,介绍了日志项及用MQL5工具包实现日志记录。
在大多数程序的执行过程中,错误总可能偶尔出现。对它们的恰当处理是高质量和稳定的软件重要的特征。本文将包含错误处理的主要方法,使用它们的一些建议以及通过MQL5工具包做日志记录。
错误处理是一个相对来说困难且有争议的话题。有许多错误处理的方法,每一种都有其特有的优点和缺点。很多方法可以合一起使用,但没有统一的标准 — 每一项特定的任务都需要一个合适的方法。
用MQL5工具包做日志记录
日志文件通常由程序创建以便于开发者查找失败/报错的原因,以及在某个特定的时刻评估系统条件等。除此之外,日志记录可用于软件分析。
日志等级
通常日志文件中接收到的信息类型各不相同,且需要不同的关注等级。日志等级用于将含有各种类型的信息区分开来,并且能够对显示信息的类别自定义。通常实现有几种日志等级:
作者:Sergey Eremin