如何在cakephp中自定义错误消息

I am new in Cakephp i develop my whole website but at some point when anyone type my website name like www.example.com/controllername/action it opens correct but anyone type like www.example.com/xyz then it shows error like

Missing Controller
 Error: xyzController could not be found.
Error: Create the class xyzController below in file:     app/Controller/xyzController.php
<?php
 class xyzController extends AppController {

   }
Notice: If you want to customize this error message, create    app/View/Errors/missing_controller.ctp
 Stack Trace
  APP/webroot/index.php line 109 → Dispatcher->dispatch(CakeRequest, CakeResponse)

the same process is apply on action like i type www.example.com/controllername/xyz then it shows error like

 Notice: If you want to customize this error message, create    app/View/Errors/missing_action.ctp

what i do to remove this message if i create that file in view folder then in header footer it shows undefined variable where i dynamically called variable.what i do.please suggest me,thanks in advanced.

If your site users are seeing error messages like this then it implies that you don't have debug set to 0 which it should be in production.

Make sure you have Configure::write('debug', 0); set in app/Config/core.php. Only enable debugging on a staging or local copy of your site otherwise you risk revealing error messages to users on your live site that may lead to vulnerabilities.

With debug set to 0 the errors will only get logged in your app's error.log and the user will be delivered a 404 page. This is correct as a missing Controller is technically an error.

You are getting errors like this because you're using the magic routing setup when you first install CakePHP to help you build your app. It is a good idea to consider explicitly defining all your app routes in routes.php and disabling the default routing behaviour by removing this line from the file:-

require CAKE . 'Config' . DS . 'routes.php';

If you do this you will not get any error messages for pages that do not exist, but you also will not be able to access any page that a route hasn't been defined for. This is not necessarily a bad thing, Beware the Route to Evil is a good read in regards to this.

Just create the app/View/Errors/missing_action.ctp file in the given location with your custom message and styles. Then in your appController file just write this:

function beforeRender () {
    if ($this->name == 'CakeError') {  
        $this->layout = false;  
    }    
}       

Hope this will work for you. :)