天天看點

《Hack與HHVM權威指南》——1.2.2 讀懂報錯消息

類型檢查器的報錯消息設計得詳細又容易了解。下面是個将會觸發錯誤的示例代碼。

<?hh

function main() {

$a = 10;

$a[] = 20;

}

我們将把它儲存成為一個名為test.hh的檔案,并且運作類型檢查器:

$ hh_client

/home/oyamauchi/test.hh:4:3,6: an int does not allow array append (typing[4006])

/home/oyamauchi/test.hh:3:8,9: you might want to check this out

每行都顯示了有錯誤檔案的全路徑消息,緊随其後的是錯誤代碼開始和結束的行編号與列編号。第一個錯誤消息行解釋了現行的錯誤消息是“一個整型不允許數組進行附加”,然後給出一個能夠唯一辨別錯誤消息的數字(參見3.11節的内容,具體檢視是怎麼使用的)。行号和列号指向代碼$a[]。

代碼的下一行内容是縮進的,表明這不是一個單獨的錯誤,而是對前一行的詳細說明。它解釋了為什麼類型檢查器會認為$a是一個整型:它指向了已經指派給“$a”的代碼“10”。