codeigniter routes not routing 404 errors
===

I have a controller called `Hello.php` that has only one method called `world`:

    class Hello extends CI_Controller {
        public function world(){
            echo "Hello World";
        }
    }

----------

I have routed my 404 errors to a controller called `bad_url.php`

`config/routes.php` file contains:

    $route['404_override'] = 'bad_url';


----------

`Bad_url.php` Controller contains:

    class Bad_url extends CI_Controller {
        public function index(){
            echo "bad url given";
        }
    }

----------

Now I am going to do 3 things:

 1. Call to `hello/world` - expecting `Hello World`
 2. Call to `hello/fake` - expecting 404 routing and then `bad url given`
 3. Call to `fake/fake` - expecting 404 routing and then `bad url given`

[I hope my understanding of what to expect from a codeigniter 404 routing is clear.]

**INSTEAD**, this is what happens

 1. Call to `hello/world` - getting `Hello World` as expected
 2. Call to `hello/fake ` - getting 500 internal server error <-- **my question is about this**
 3. Call to `fake/fake` - getting `bad url given` as expected

What part am i missing here?