第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

出現(xiàn) Java 錯(cuò)誤時(shí)停止運(yùn)行 .jar 的 AppleScript

出現(xiàn) Java 錯(cuò)誤時(shí)停止運(yùn)行 .jar 的 AppleScript

江戶川亂折騰 2023-04-13 14:14:15
我有一個(gè)用于運(yùn)行 .jar 文件的 AppleScript。.jar 文件需要幾個(gè)輸入,這些輸入最初是通過命令行輸入的,但現(xiàn)在我輸入 .csv 并自動(dòng)讀入 .jar。由于未知原因,有時(shí) CSV 中的數(shù)字無法正確讀取,從而導(dǎo)致NumberFormatExceptionJava 代碼中出現(xiàn) 。但是,我的腳本沒有中斷,而是不斷嘗試在無限循環(huán)中輸入無效輸入。有沒有辦法修改我的代碼,以便在 .jar 引發(fā)錯(cuò)誤時(shí)腳本停止?這是我當(dāng)前的代碼:on RunFile(jar_location)    do shell script "cd " & jar_location & " ; cat 'prompt.csv' | sh 'runScript.sh' 'WSO'"end RunFile
查看完整描述

1 回答

?
慕村225694

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊

在評(píng)論中回顧了這個(gè)之后,很明顯問題是 .jar 文件試圖進(jìn)行交互——要求在光標(biāo)處輸入一些內(nèi)容——而 AppleScript 的設(shè)計(jì)不是為此而設(shè)計(jì)的do shell script。AppleScript 可以從 shell 獲取錯(cuò)誤和輸出,但它無法將響應(yīng)反饋給 shell,或者判斷 shell 腳本是否正在等待輸入。


如果 .jar 文件不能在非交互模式下運(yùn)行,那么 AppleScript 確保進(jìn)程結(jié)束的唯一方法是獲取其進(jìn)程 ID 號(hào),等待一段合理的時(shí)間,然后向其發(fā)送終止信號(hào)。該腳本如下所示:


on RunFile(jar_location)

    set pid to do shell script "cd " & jar_location & " ; cat 'prompt.csv' | sh 'runScript.sh' 'WSO' &> /dev/null & echo $!"

    -- wait 5 seconds, or whatever seems appropriate for the task to complete

    delay 5

    try

        do shell script "kill " & pid

    end try

end RunFile

附加的&> /dev/null & echo $!短語分離 shell 腳本,允許 AppleScript 向前移動(dòng),并返回進(jìn)程的進(jìn)程 ID 供以后使用。我將 kill 信號(hào)放在一個(gè) try 塊中,這樣如果進(jìn)程已經(jīng)正常退出,腳本就不會(huì)拋出錯(cuò)誤。


查看完整回答
反對(duì) 回復(fù) 2023-04-13
  • 1 回答
  • 0 關(guān)注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)