2011-08-29 55 views
1
PHP Error[2]: ftp_login(): Login authentication failed 
     in file /mnt/2vertex/Repos/gold/protected/components/data-adapters/FtpDataAdapter.php at line 37 
    #0 /mnt/2vertex/Repos/gol/protected/components/data-adapters/FtpDataAdapter.php(37): ftp_login() 
.... 
.... 
.... some stack info 

是一個異常或這是一個錯誤?而且我真的無法在我的PHP代碼中捕捉到它。與嘗試捕獲(例外$ e)本機php異常和該文本返回的錯誤有什麼區別?

回答

0

這是一個錯誤,但不是原生的PHP。這是你的代碼的例外,ftp_login() - 你得到你的錯誤的函數。如果你使用一些框架,可以有錯誤處理程序,以便爲什麼你不能在那個地方找到錯誤文本。

+0

我怎麼能找到一個異常類的名字是什麼,我需要趕上?當我使用phpunit並測試那個類時,我可以捕獲(Exception $ e),但是當我的應用程序在運行時(它是Yii框架控制檯應用程序),它不能被異常$ e捕獲。 – RusAlex

+0

試圖看看這個http://www.yiiframework.com/doc/guide/1.1/en/topics.error – YamahaSY

+1

它不能被捕獲,因爲它不是一個例外,它是一個警告。如果這不是您編寫的代碼,並且您正在尋找簡單的解決方法,則可以在ftp_login()函數前使用@。如果代碼編寫得很好,它應該使用函數的返回值來分支。有更復雜的事情你喜歡使用set_error_handler來捕獲警告,然後你可以拋出一個異常。 – gview