有時候,我得到這個錯誤:的AppleScript:約奇怪的錯誤不定義的變量
./mac/get_foregroundapp_info.scpt:254:265: execution error: The variable window_name is not defined. (-2753)
這很奇怪,因爲我看不到變量是如何沒有定義。這是代碼:
global frontApp, frontAppName, idleTime, window_name
tell application "System Events"
set frontApp to first application process whose frontmost is true
end tell
set window_name to ""
try
set window_name to name of front window of frontApp
end try
if window_name = missing value then
set window_name to ""
end if
錯誤出現在行if window_name ...
。
但它似乎很少,也許在約2-5%的情況下。
當我按住Command鍵並將鼠標懸停在Chrome中的某個鏈接上時,它似乎更常出現/總是(?)。不知道現在或以任何方式完全是隨機行爲。
編輯:它似乎總是出現,當我有一個圖像打開預覽。奇怪的是,它似乎工作,如果我打開預覽PDF。
作爲夾頭所指出的,也能夠抓住這個「未定義-variable'誤差與另一try
塊。
但我的主要問題實際上是:爲什麼變量undefined?那是什麼意思?因爲就我所見,它必須在那個地方定義。
(順便說一句,有關獲取窗口標題這段代碼有幾個缺點,其中之一是這裏描述的,也並不總是因爲這個工作。見另一種解決方案here這似乎總是工作,也沒有這種奇怪的錯誤。)
你是如何執行此代碼?在測試代碼時,我無法想到任何_not_的輕量級方法,讓AppleScript Editor成爲最前端的應用程序。 – 2011-03-14 01:33:23
@Uriah:我把它放在一個文件中,然後在終端上,我執行了這個:'while true;做睡1; osascript -ss myscript;完成' – Albert 2011-03-14 08:10:14