Node執行外部程序時候出現的異常
如果你需要調用的外部程序不存在,那麼此時將會遇到一個ENOENT的錯誤,通常這樣的錯誤都是因為我們把外部應用程序的名稱或者是路徑輸入錯了導致的,這樣一來,Node必然找不到這個需要被調用的外部應用,如圖所示
另外一種情況,如果外部應用程序確實存在,但是Node卻無法訪問它(通常情況下都是因為沒有足夠的許可權),此時你將會遇到一個EACCES或者是EPERM的錯誤。為了解決諸如這樣的問題,你要麼通過使用一個具有足夠許可權的用戶來運行當前需要調用外部程序的Node的程序,要麼對需要被調用的外部程序許可權設置進行修改,使它可以被訪問得到。
還有,當被調用執行的外部程序退出返回的狀態碼是非零狀態時,它表示該程序不能夠在當前的平台(Windows或者是Unix)下執行對應的任務。在這種情況下,Node就會把該返回的狀態碼作為異常對象和其他一切可能返回的數據傳入到stdout和stderr,如下面的代碼:
設想,此時code的值是1,表示命令執行失敗;具體的錯誤信息存儲在stderr中。
綜上所述,當我們只是需要執行一個外部程序,不管是否需要得到執行之後的結果的時候,使用execFile方法確實是一個不錯的選擇。比如說,如果現在需要執行一個圖片處理的操作,並且只關心它是否運行成功,那麼你只需要使用execFile執行一下ImageMagick就可以。如果你想執行的這個外部應用會有很多的輸出,並且你又想對輸出的結果進行一個實時性分析,那麼這個時候,使用流則會是一個更好的辦法。
※Node中的UDP客戶端服務應用
※Node通過UDP傳輸文件
※Node創建TCP服務端和客戶端的方法
※定義模版消息發送方法類庫的編寫及POST數據發送
※Node如何讀取配置文件
TAG:行家匯 |
※原生Dao開發方法需要程序員編寫Dao介面和Dao實現類
※Android免Root許可權Hook系統函數修改程序運行時內存指令邏輯
※這屆 Python 程序員,很行!
※Android簡單的布局和運行程序
※iHeartMedia宣布破產 應用程序正常運行
※Windows下Python用管理員執行命令或者程序
※一些很棒的Python應用程序
※Oculus的移動應用程序現在支持Rift
※如何在 Mac 下完美的運行 Windows 應用程序
※如何在Windows系統中設置Python程序定時運行
※三種方式教你運行Python程序
※Android P將切斷後台應用程序的相機訪問權
※Linux操作系統的應用程序如何跟Linux內核進行交互
※Python程序員常用速查表集合
※AdBlock Plus廣告過濾插件漏洞可被執行惡意程序代碼
※一大批前端程序員又要失業了,阿里 imgcook體驗版發布!
※開始使用 Go For It 吧,一個靈活的待辦事項列表程序
※MicroD推出3D室內規劃增強現實應用程序
※程序員正在拋棄 Facebook
※感謝第三方解決方案Android應用程序可以運行在Windows手機當中