在 PHP Try Catch 块中引发异常

我在Drupal 6 .module文件中有一个PHP函数。我正在尝试在执行更密集的任务(如数据库查询)之前运行初始变量验证。在 C# 中,我曾经在 Try 块的开头实现 IF 语句,如果验证失败,该语句会引发新的异常。引发的异常将捕获在 Catch 块中。以下是我的 PHP 代码:

function _modulename_getData($field, $table) {
  try {
    if (empty($field)) {
      throw new Exception("The field is undefined."); 
    }
    // rest of code here...
  }
  catch (Exception $e) {
    throw $e->getMessage();
  }
}

但是,当我尝试运行代码时,它告诉我对象只能在 Catch 块中抛出。

提前致谢!


答案 1
function _modulename_getData($field, $table) {
  try {
    if (empty($field)) {
      throw new Exception("The field is undefined."); 
    }
    // rest of code here...
  }
  catch (Exception $e) {
    /*
        Here you can either echo the exception message like: 
        echo $e->getMessage(); 

        Or you can throw the Exception Object $e like:
        throw $e;
    */
  }
}

答案 2

要重新抛出做

 throw $e;

不是消息。


推荐