美好的一天,
我修改了这个文件。
function validateAllLinks(webservicelinks, cb) {
async.eachOfSeries(webservicelinks, validateLink, function (err) {
if(err) {
cb("Validation failed")
} else {
cb(null, "Success")
}
})
}
function validateLink(linkData, cb) {
var proxiedRequest = request.defaults({'proxy': linkData.linkUrl});
proxiedRequest(linkData.linkUrl , function (error, response, body) {
// some validation
if(validated) {
linkData.linkStatus = true
}
})
}
// usage:
validateAllLinks([{linkUrl: 'http://google.com', linkStatus: false}], console.log)
这是我修改的功能。
vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php
我发了电子邮件给我。电子邮件包含$ message和$ file以及$ line。
这就是电子邮件所说的内容。
public function handleError($level, $message, $file = '', $line = 0, $context = [])
消息为空,但它在文件中遇到错误。我打开文件。
MESSAGE FILE vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php LINE 126
我很困惑。为什么catch块没有捕获错误?哪种类型的错误不会给laravel的错误处理程序发送消息?我能做些什么来获得有关错误的更多信息吗?
这是我们的Laravel版本。
Laravel Framework版本5.1.45(LTS)
答案 0 :(得分:1)
首先,您提出的问题具有误导性。你要做的是在laravel中添加一个自定义错误处理程序,你可以通过this URL来实现。
您遇到的错误可能是由于文件权限错误引起的。
由于在函数调用unlink()之前存在 @ 符号,因此会抑制由此引起的任何错误。
删除 @ 符号,如果该文件不存在或者如果有错误则会抛出它,然后catch块会捕获它。