天天看点

《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”。