AutoHotkey中如何检测变量是否已赋值以规避未定义报错?
AutoHotkey变量未定义报错修复方案
你开启#Warn指令后,解释器会主动校验变量赋值状态,引用未赋值的PrevActiveClass就会触发对应警告。
要实现仅变量已赋值时才执行WinActivate的逻辑,参考以下代码:
适配新版本(v1.1.27及以上,推荐)
使用内置IsSet()函数直接检测变量赋值状态,检测过程不会触发警告:
#Warn if (IsSet(PrevActiveClass)) { WinActivate ahk_class %PrevActiveClass% }
旧版本兼容方案
如果使用的是更早的AHK v1版本,可以临时关闭变量未定义警告后再判断:
#Warn #Warn VarUnset, Off if (PrevActiveClass != "") { WinActivate ahk_class %PrevActiveClass% } #Warn VarUnset, On
你收到的报错提示如下:
内容的提问来源于stack exchange,提问作者Wenfang Du
相关产品推荐
相关产品推荐

