不。
MQL4
对 python / java 和类似语言中的类似 atry/except/finally
或用例的构造没有语法支持。try/catch
如何处理异常?
假设没有编译时错误。
运行时错误很难处理,有些甚至会导致软件崩溃。
人们可以而且应该通过适当的类型检查和用例预验证主动清理 MQL4 代码,以防止出现异常。
例外情况是dbPool
操作,在某些情况下,这些操作可能“合法地”无法产生预期的结果。
A GetLastError()
(如果先验地清除异常本身)可以用作几乎事后的识别,而不是作为异常处理程序。
4202?不是你的问题,兄弟
_LastError == 4202 ... does not explain the trouble <<< stdlib.mqh
4202
ERR_OBJECT_DOES_NOT_EXIST
Object does not exist
您的问题似乎与值的-reverse-stepping-indexbar
之外的“指向”有关。TimeSeries
Close[]
0 <= aBarPtrIDX < Bars
下一个目标?一个Close[aBarPtrIDX]
误解
在MQL4
域中花费了一段时间后,人们会熟悉一些相互矛盾的事实。一个潜在的惊喜是,当前的柱,“热零” [0]
,Close[0] == Bid
在它的所有生命周期中都包含。
在运行栏被aNewBarEVENT
( 由Volume[0] == 1
( 或Volume[0] < aPreviousVolume_0
-- 一个更安全的模式表示,MQL4
-松散耦合的事件循环quote
在它的忙集期间错过了一些 -arrival )) 终止后,Close[1]
代表最后访问的在各个时期的价格,Bar
并Close[0]
不断在不断变化的Bid
价格上冲浪