登录 注册
当前位置:主页 > 资源下载 > 50 > oracle_11g_r2_rac+asm在windows_server_2008_r2_x64环境下的错误处理及搭建配置指南

oracle_11g_r2_rac+asm在windows_server_2008_r2_x64环境下的错误处理及搭建配置指南

  • 更新:2024-06-06 23:27:38
  • 大小:23.76MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:Perl - 后端
  • 格式:PDF

资源介绍

18.4 错误处理 在很多情况下,系统调用可能会失败;例如,尝试打开不存在的文件,或者删除某个仍含有文件 的目录,或者尝试读取没有读权限的文件。在前面的示例中,我们已经用到了 die 函数,本节将详细 讨论有关错误处理和错误处理函数的相关内容。这些函数包括 die 函数、warn 函数和 eval 函数。 ・ die 函数用于在命令或文件句柄失败时退出 Perl 脚本。 ・ warn 函数类似于 die 函数,但它不会退出脚本。 ・ eval 函数具有多种用途,但它主要还是用于异常处理。 读者想必还记得短路运算符 && 和 ||,这两个运算符首先会求其左侧操作数的值,然后才会求 其右侧操作数的值。如果 && 左侧操作数值为 true,则求其右侧的操作数。如果 || 左侧操作数的值 为 false,这才求其右侧的操作数。 Carp.pm 模块。有很多种退出脚本的途径可供用户选择。Perl 5 提供的 Carp 模块扩展了 die 和 warn 的功能。(详见示例 12.10。) 18.4.1 die 函数 如果系统调用失败的话,die 函数会把字符串打印到 STDERR 上,并以 $! 的当前值退出脚本。 $! 变量中含有 errno 的当前值,后者是一个 UNIX 全局变量,含有一个表示系统错误的数字。只有 在系统调用失败时才会更新 errno 的值。当系统调用失败时,会向 errno 赋予一个数字代码,以表 明错误的类型。如果在字符串中省略了换行符,则会打印出带有行号的消息(参见 /usr/include/sys 中的完整列表)。 下面是 /usr/include/sys/errno.h 文件中的示例: #define EPERM 1 /* Not owner */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /* Interrupted system call */ #define EIO 5 /* I/O error */ ... Win32 的错误代码不同于 UNIX 错误代码,因此不能依赖于 $! 返回的值。有很多 Win32 扩展 都提供了自己的错误函数,以便为用户提供更有意义的结果。详情可参阅 ActiveState 中标准 Perl 库里的 Win32::GetLastError 相关文档。