2016-06-01 3 views
0

Я хочу знать, как бросать пользовательские сообщения об исключениях в Codeigniter, когда в некоторых ситуациях, как следующее произойдет:

Как бросить пользовательские исключения в codeigniter?

  1. Подключение к базе данных не удалось по каким-то причинам (я намеренно дал несуществующее имя базы данных в моем файл/конфигурации/database.php приложение для тестирования и пытался сделать примерочных зацепиться $ this-> db-> получить(), но это не сработало. Codeigniter дал свое собственное сообщение об ошибке)

2. Метод не выполняется. я пытался сделать что-то вроде ::

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"; 
} 

Это не работал слишком

ответ

0

Там так много видов исключений, может быть, вам нужно поймать, например, mysqli_sql_exception

 try{ 
     // some code to connect to db 
    }catch(mysqli_sql_exception $e) 
    { 
     return 'Custom message'; 
    } 
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"); 
} 
+0

Благодарности за reply.But этого метода не working.Following сообщения была показана: неперехваченное Исключение встречалось Тип: Ошибка Сообщения: Вызов неопределенной метод MODEL_NAME :: MyFunc() – stackoverflownewbie

+0

Вам также нужно выйдите из корневого пространства имен, поэтому напишите исключение следующим образом: '\ Exception' – odannyc

Смежные вопросы