如何在codeigniter中抛出自定义异常?

时间:2016-06-01 21:48:55

标签: php codeigniter

我想知道在发生以下情况时如何在Codeigniter中抛出自定义异常消息:

  1. 由于某种原因连接到数据库失败(我故意在我的application / config / database.php文件中提供了一个不存在的数据库名称来测试并尝试对$ this-> db-进行try-catch > get()但它没有用.Qodeigniter给出了自己的错误消息)
  2. 2.A方法无法执行。 我试着做一些像::

    这样的事情
    try
    {
      $this->model_name->myfunc();//myfunc is a non-existent method but any other reason for failure should be handled too using custom message
    }catch(Exception $e)
    {
       echo "Method failed to run";
    }
    

    这也不起作用

2 个答案:

答案 0 :(得分:0)

有很多种例外,也许你需要捕获例如mysqli_sql_exception

      try{
       // some code to connect to db
     }catch(mysqli_sql_exception $e)
     { 
       return 'Custom message';
     }

答案 1 :(得分:0)

在您的示例中,您可以尝试throw new Exception,如下所示:

try
{
  $this->model_name->myfunc();//myfunc is a non-existent method but any other reason for failure should be handled too using custom message
}catch(\Exception $e)
{
   throw new \Exception("Method failed to run");
}