ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
在P e r l中,d i e函数可以用来在出现错误的时候停止解释程序的运行,并输出一条有意义的
出错消息。正如你在前面已经看到的那样,只要调用d i e函数,就能够输出类似下面的消息:
   died at scriptname line xxx

d i e函数也可以带有一系列的参数,这些参数将取代默认消息而被输出。如果消息的后面
没有换行符,那么消息的结尾就附有at scriptname line xxx字样:
   die "Cannot open";   #prints "Cannot open at scriptname scriptname line xxx"

P e r l中有一个特殊的变量$ !,它总是设置为系统需要的最后一个操作(比如磁盘输入或输
出)的出错消息。当$ !用于数字上下文时,它返回一个错误号,这个号可能对任何人都没有
什么用处。在字符串上下文中, $ !返回来自你的操作系统的相应的出错消息:
   open(MYFILE, "myfile") || die "Cannot open myfile: $!\n";

不要使用$ !的值来检查系统函数的运行是失败还是成功。只有当系统执
行一项操作(比如文件输入或输出)之后, $ !才有意义,并且只有在该操作
运行失败后, $ !才被设置。在其他时间中, $ !的值几乎可以是任何东西,并
且是毫无意义的。


不过有时并不想使程序停止运行,只是想要发出一个警告。若要创建这样的警告, P e r l有
一个w a r n函数可供使用。w a r n的运行方式与d i e完全一样,你可以从下面这个代码中看出来,不过差别是它的程序将保持运行状态:
   if(! open(MYFILE, "output)) {
      warn "cannot read output: $!";
   } else {
      ;   # Reading output...
   }
posted on 2006-04-14 13:15 ivaneeo 阅读(891) 评论(0)  编辑  收藏 所属分类: perl-杀鸡就要用牛刀

只有注册用户登录后才能发表评论。


网站导航: