当使用Fetch从Teamcity下载网址时,我得到了提取失败!错误。但该文件的下载实际上是有效的。
他们最近更改了我们Teamcity服务器的权限,因此在获取要下载的文件的URL时我将使用用户名和密码。我只是想知道这是否会导致fetch验证网关的问题,但我可以下载该文件。有没有办法抑制此错误或只是将其降级为警告?
$(function(){
function create_dynamic_form() {
// code to dynamically create this form HERE
// initialize validation on this new form ->
$('#this-new-form-id').validate({
....
});
});
});
答案 0 :(得分:0)
问题似乎是打印到STDERR
的警告(消息)。显然你没有得到die
或程序会退出。您可以通过设置$SIG{__WARN__}
挂钩来控制打印消息的过程,最好在块中进行本地化。
my $where;
FETCH: {
local $SIG{__WARN__} = sub {
print "WARN: @_"; # or whatever appropriate
};
$where = $ff->fetch ( to => "$DOWNLOAD_LOCATION" );
};
或
my $where = do {
local $SIG{__WARN__} = sub { print "WARN: @_" };
$ff->fetch;
};
信号的处置 - 打印到STDERR
- 在块之外恢复,这是local
提供的。请参阅{{3>},特别是“概要”之后的文字。完成后,您也可以通过$SIG{__WARN__} = 'DEFAULT';
手动执行此操作。
如果安装了
$SIG{__WARN__}
处理程序,则不会打印任何消息。处理程序有责任在其认为合适的情况下处理消息(例如,将其转换为模具)。
另见%SIG
条目warn
当要打印警告消息时,将调用
$SIG{__WARN__}
指示的例程。警告消息作为第一个参数传递。__WARN__
挂钩的存在会导致对STDERR的警告的普通打印被抑制。
在决定将什么称为“错误”以及“警告”可能有点武断时,很明显您的程序只向STDERR
发出消息并继续。那么上面就足够了。
如果您被die
击中,那么您可以将代码包装在in perlvar中。
答案 1 :(得分:0)