如何在编译时迅速使用#error引发错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在编译时迅速使用#error引发错误相关的知识,希望对你有一定的参考价值。
我想在编译时在条件中抛出错误。但是#error
立即引发错误。
这是我尝试过的:
var number: Int = 10
if number < 20 {
#error("the number is smaller than 20")
}
但是这不起作用!
答案
如@Sulthan在上面的评论中所述:
变量在编译时没有值。它仅在运行时具有值。这意味着您不能使用编译检查
因此,您试图实现的目标是不可能的。#if
#elseif
#endif
等...是预处理器标志,可以测试的条件非常有限(例如,预处理器宏(如DEBUG)或函数(如os()arch()))。因此,在编译之前无法检查变量。
以上是关于如何在编译时迅速使用#error引发错误的主要内容,如果未能解决你的问题,请参考以下文章
双向链表 - 是啥导致我的代码引发编译器错误,我该如何解决?
为啥代码片段在 matplotlib 2.0.2 上运行良好,但在 matplotlib 2.1.0 上引发错误
错误:这个片段内部类应该是静态的 [ValidFragment]