L02-8.2 筆記 記一次查錯經歷

beatles發表於2018-09-22

file

出現這類的報錯, 沒有直接指向自己編輯的檔案和位置
Illuminate\Foundation\Http\Kernel handle 以及 ReflectionException , 內心預設為高階的東西, 自己不能解決的
2個小時裡有1個小時50分鐘不知道怎麼找, 對著書中的程式碼, 也沒發現有不一樣的地方,
剛想在章節下面提問, 可是這一章總共也沒幾個問題, 更是沒遇到自己的這樣, 說明肯定是自己程式碼有錯, 而且不是高階錯誤, 在發問題貼之前還是自己再找找吧.

如此一來, 堅定了要自己找錯, 反而有點眉目, 不再畏難了

解決思路:

  1. 說 Class App\Http\Controllers\Link does not exist 控制器類下的 Link 類不存在, 那我就建一個(書中並沒有建這個控制器類), 新建的類名是 App\Http\Controllers\LinksController
  2. 依然提示 Link 不存在, 把 LinksController 改為 Link , 這回不報錯了, 證實了有哪個地方用到了這個 Link 類, 把 新建的 Link 類檔案刪除, 重新報錯 Link 不存在
  3. 查詢專案中, 用到了 Link 類的地方, 由於之前的章節都是正常走過來的, 所以只用檢視最新的這一章寫的內容, 正是在 TopicsController 中用到了 Link 類, 看下開頭, 並沒有 use 類
  4. 明顯了, 因為沒有引入 Link 模型類, 所以 App\Http\Controllers\TopicsController 中用到的 Link 類( 非限定名稱 ), 預設為 App\Http\Controllers\Link , 從而 use App\Models\User 解決問題
    ps: 回過頭來,問題其實很簡單, 找不到 App\Http\Controllers\Link ,說明有地方用到了 App\Http\Controllers\Link , 直接找用到 Link 的地方, 就容易找到錯了

遇到問題總結:

  1. 首先不要畏難, 冷靜
  2. 仔細檢視報錯內容, 沒有指向特定檔案, 或者指向自己沒有編輯過的 '高深' 檔案, 先不理會, 只看 '大字' 提示
  3. 具體問題具體分析
    ps: 本次經歷就算作新手入門路上踩的坑吧

相關文章