【发布时间】:2016-06-09 07:54:15
【问题描述】:
我是 perl 新手,我已经为 ftp 文件传输创建了一个 perl 脚本。
但如果$ftp->login 不成功,程序将终止并显示以下错误消息:
Uncaught exception from user code:
Cannot login Login incorrect.
at ftp.sender.com line 89
程序代码片段:
$ftp->login($config->[$i]->{'USERNAME'},$config->[$i]->{'PSWD'}) or die "Cannot login ", $ftp->message;
有没有办法处理这个异常/登录不成功,让程序不会终止?
【问题讨论】:
-
well 关键字“die”会终止程序。将“die”替换为您希望程序执行的操作...例如 $ftp->login($config->[$i]->{'USERNAME'},$config->[$i]->{' PSWD'}) 或打印“无法登录”,$ftp->message;
-
请参阅Try::Tiny 了解高级异常处理。
-
谢谢!有效
-
还有哪个是识别登录是否成功的最佳方法?成功登录后,我得到了 $ftp->code = 230 和 $ftp->status =2。我们可以这样验证吗? $ftp->status 是否意味着成功?
-
如果登录没有返回 false 值,则表示登录成功。这就是
or所做的。如果返回undef或者0(不知道是哪一个),就会调用or的RHS。