下面是一些代码,它接受一个int错误代码(scode)并尝试查看它是否适合某种模式。我是否应该使用模分部门操作员来做这件事?如何更有效地执行此int模式检查?
const int MASK_SYNTAX_ERR = -2146827000;
if ((MASK_SYNTAX_ERR % scode) == MASK_SYNTAX_ERR)
scriptError.GetSourceLineText(out sourceLine);
背景:我不得不通过观察推断出MASK_SYNTAX_ERR的值。下面是我观察到的各种语法错误代码:
// -Int Value (Formatted Value "0x{0:X8}")
-2146827281 (0x800A03EF)
-2146827279 (0x800A03F1)
-2146827280 (0x800A03F0)
-2146827283 (0x800A03ED)
-2146827284 (0x800A03EC)
这里有几个的逻辑错误代码作比较:
-2146823281 (0x800A138F)
-2146823279 (0x800A1391)
(花絮:本身调用IActiveScriptError.GetSourceLineText的代码,这是从一个IActiveScriptSite.OnScriptError实现。)
这里的COM错误代码是如何构造的解释 - http://msdn.microsoft.com/en-us/library/bb401631.aspx。 – 2012-01-27 02:18:22
啊,谢谢阿列克谢。这可能是最有用的知识。 – 2012-01-27 02:36:43