我有一个 Java 脚本(比如)a.js,它通过以下方式调用 Perl 脚本 b.pl:
JavaScript:xmlhttpPost("http://:/cgi-bin/b.pl");
xmlhttpPost 类似于:
function xmlhttpPost(strURL)
{
var xmlHttpReq=createXMLHttpRequest();
xmlHttpReq.open('POST', noCache(strURL), true);
createXMLHttpRequest 创建 ActiveXObject 的位置
b.pl 调用另一个 Perl 模块 c.pm。在c.pm中,有一段捕获OS的代码 异常(exception):
eval {
$ftp->put($filenamepath); };
if ($@) {
return "FTP time-out"; }
$ftp 利用 Net::FTP。
如果我从命令行运行 b.pl,并且在使用 ftp 放置文件时出现超时异常,则异常会被正确捕获。但是,如果通过a.js运行b.pl,则不会捕获超时异常。
请指教。谢谢!
最佳答案
我会考虑调查CGI::Carp 。该文档中似乎有几种不同的方法可能会让您感兴趣。
关于javascript - 当 Javascript 调用 Perl 脚本时捕获操作系统异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25148398/