PHP8 RarException::setUsingExceptions

2024-02-26 11:49 更新

(PECL rar >= 2.0.0)

RarException::setUsingExceptions — 激活和停用异常错误处理

说明

public static RarException::setUsingExceptions(bool $using_exceptions): void

当且仅当参数为 true 时,当 UnRAR 库遇到错误时,不会发出警告并返回指示错误的特殊值,而是会引发 RarException 类型的异常。

对于在库外部发生的以下错误,也会引发异常(其错误代码将为 -1):

  • 尝试对已关闭的 RarArchive 对象或相对于第一个对象的 RarEntry 对象执行某些操作;
  • 尝试获取 RarArchive::getEntry() 不存在的条目。

参数 

using_exceptions

应为 true 以激活异常引发,应为 false 以停用(默认值)。

返回值 

没有返回值。

示例 

示例 #1 RarException::setUsingExceptions() example

<?php
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch);

RarException::setUsingExceptions(true);
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch); //not reached
?>

以上示例的输出类似于:

bool(false)

Warning: RarArchive::open(): Failed to open does_not_exist.rar: ERAR_EOPEN (file open error) in C:\php_rar\trunk\tests\test.php on line 3
bool(false)
bool(true)

Fatal error: Uncaught exception 'RarException' with message 'unRAR internal error: Failed to open does_not_exist.rar: ERAR_EOPEN (file open error)' in C:\php_rar\trunk\tests\test.php:8
Stack trace:
#0 C:\php_rar\trunk\tests\test.php(8): RarArchive::open('does_not_exist....')
#1 {main}
  thrown in C:\php_rar\trunk\tests\test.php on line 8

参见 

  • RarException::isUsingExceptions() - 检查是否正在使用带有异常的错误处理


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号