简介

在大多数程序的执行过程中,错误总可能偶尔出现。对它们的恰当处理是高质量和稳定的软件重要的特征。本文将包含错误处理的主要方法,使用它们的一些建议以及通过MQL5工具包做日志记录。

错误处理是一个相对来说困难且有争议的话题。有许多错误处理的方法,每一种都有其特有的优点和缺点。很多方法可以合一起使用,但没有统一的标准 — 每一项特定的任务都需要一个合适的方法。

错误处理的基本方法

如果一个程序在执行过程中遇到错误,那么般来说为了能正常运行,需要执行某些操作(或者一些操作)。下面是这类操作的一些例子:

终止程序。如果有任何错误出现,最佳操作就是停止正在运行的程序。通常,这些都是禁止程序运行的严重错误,因为它要么使程序变得无意义或者干脆十分危险。MQL5为运行错误提供了中断机制:例如,在“除数为零”或者“数组越界”的情况下,程序触发中断。其他程序终止的情况开发者必须自行小心地处理。例如,对于EA来说,需要使用ExpertRemove()函数。

使用ExpertRemove()函数终止EA的例子:

void OnTick()
  {
   bool resultOfSomeOperation=SomeOperation();   if(!resultOfSomeOperation)
     {
      Alert("fail");
      ExpertRemove();
      return;
     }
  }

将不正确的值转换到正确值所在范围。特定的值通常需落入指定的范围内。然而,在某些情况下值可能落

MQL5中的错误处理和日志记录相关推荐

  1. 如何在.NET中启用程序集绑定失败日志记录(Fusion)

    如何在.NET中启用程序集绑定失败日志记录(Fusion)? #1楼 如果您已经启用了日志记录,并且在Windows 7 64位上仍然出现此错误,请在IIS 7.5中尝试: 创建一个新的应用程序池 转 ...

  2. java log日志函数_Java 中的 AWS Lambda 函数日志记录 - AWS Lambda

    AWS 文档中描述的 AWS 服务或功能可能因区域而异.要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门. 本文属于机器翻译版本.若本译文内容与英语原文存在差异,则一律以英文原文为准. Ja ...

  3. php写入记录日志,【转】PHP错误处理写入日志记录

    ?php /** * PHP错误处理写入日志记录 * @author: lnnujxxy * @time: 2009-09-23 * //使用方法: * require './error_handle ...

  4. java日志怎么实现_JAVA项目中怎么实现一个通用日志记录功能

    JAVA项目中怎么实现一个通用日志记录功能 发布时间:2020-11-21 17:04:50 来源:亿速云 阅读:53 作者:Leah 今天就跟大家聊聊有关JAVA项目中怎么实现一个通用日志记录功能, ...

  5. 如何查看Nginx日志中关于百度爬虫的日志记录

    单独从Nginx日志文件access.log中提取出关于百度爬虫的日志记录并将其存到另一个单独的文件中.可以简单的通过Linux中的管道命令实现,如下所示: cat access.log | grep ...

  6. python 调用函数 开销_参数中带有函数的Python日志记录开销

    调用前的函数参数评估 好了,您看到传递给logging.debug('Factorial of 100000 =',math.factorial(100000))的参数需要在调用logging.deb ...

  7. 在多线程应用程序中使用循环缓冲区高效地进行日志记录

    在多线程应用程序中使用循环缓冲区高效地进行日志记录 在关键的计算机应用程序的生存期中,日志记录是一件非常重要的活动,特别是当故障的症状并不十分明显时.日志记录提供了故障前应用程序状态的详细信息,如变量 ...

  8. SAP PI PO 接口常见问题处理:在监控器中找不到一个或多个 XI 消息的日志记录

    已经处理 XI 消息,但在 XI 监控器中找不到它,或者在映射服务之后没有为该 XI 消息写入日志版本.如果运行时持久保存 XI 消息,则 XI 监控器(事务 SXI_MONITOR 或 SXMB_M ...

  9. log4j2 无日志记录_在Log4j2中更好地执行非日志记录器调用

    log4j2 无日志记录 使用Log4j 1.x并希望避免在某些情况下可能会造成额外的性能影响(即使实际上未记录该消息)时,通常使用日志记录防护 . Java的简单日志记录外观 ( SLF4J )带给 ...

  10. [项目过程中所遇到的各种问题记录]部署篇——项目部署过程中那些纠结的问题-SQLServer...

    前一篇文章说了些有关IIS的,这篇则是说SQLServer的,相比IIS来说,SQLServer的配置过程中问题就少了许多,而且都比较有针对性,下面开始记录: 注:由于实际项目的开发都是基于SQL20 ...

最新文章

  1. Python热文Top10,精选自1000篇文章
  2. source insight快捷键及使用技巧
  3. python自动复制输出_python 深浅拷贝集合
  4. 博弈入门(思想)HDkiki‘s game;
  5. Maven聚合工程怎么变回普通的Maven工程
  6. win10下Redis安装、启动教程
  7. 字体图标的使用(HTML、CSS)
  8. 吧唧下工作的事情 - 记用canvas封装的小小控件
  9. html倒计时代码执行操作,js实现网页倒计时、网站已运行时间功能的代码3例
  10. 关于flutter出现Because flutter_app depends on flutter_screenutil >=3.0.0-beta.1 which requires Flutter S
  11. 下载歌曲的时候嫌麻烦?打造专属你的音乐下载器
  12. 复旦大学2017--2018学年第一学期(17级)高等代数I期末考试第八大题解答
  13. 数据库常用操作,会持续更新
  14. vite项目在jenkins自动打包报错:failed to load config from ../vite.config.js You installed esbuild on
  15. Roll A Ball
  16. js提交成功后,清空表单
  17. m基于matlab的polar码误码率仿真,译码算法采用SC算法
  18. LeetCode 力扣算法题解汇总,All in One
  19. CPU FPU DSP MPU的概念介绍
  20. java整合消息推送_SpringMVC整合websocket实现消息推送及触发功能

热门文章

  1. 计算机论文中期考核报告,硕士学位论文中期检查表范文_中期检查报告范文_中期考核 修改论文题目...
  2. android 7.1 默认壁纸拉伸问题
  3. 程序员必备的画图工具汇总
  4. 没了Ghost,系统也能“雨过天晴”了
  5. 系统分析师考试大纲2009
  6. 前端工程师的摸鱼日常(9)
  7. 网站建设教程:新手如何自己建网站?
  8. 图表控件ScottPlot
  9. 计算机电脑哪个是复位键,电脑一键还原按哪个键
  10. 7-77 打印学生选课清单 (25分)