catch is not working for http.get Angular2
<p>I am trying to make an ajax call with Http service, which is working fine.</p>

<p>Now I would like to handle failure cases. Example if we get 404 or any other errors.</p>

<p>I am using the following code.<br/></p>

<pre><code>import {Component,Inject} from '@angular/core';
import {Http, Response,HTTP_PROVIDERS} from '@angular/http';
import {DoService} from './service';
import 'rxjs/Rx';
import 'rxjs/add/operator/catch';

@Component({
    selector: 'comp-one',
    template: `&lt;h2&gt;My First Angular 2 App&lt;/h2&gt;{{data}}
        &lt;input type="button" (click)="doSomething()" value="Do Http"/&gt;`
})

export class ComponentOne { 
    constructor(public _http:Http){
    console.log("It is from ComponentOne constructor..");
        this._http = _http;
    }
    data:Object;
    doSomething(){
        console.log("It is from doSomething ComponentOne");
        let temp:any = this._http.get('people.json')//people.json is not exist, intendedly maing any error
     .map(res =&gt; res.json())
        .catch((err:any)=&gt;{ console.log("Something is wrong..")});// If i keep this line i am getting errors like "Argument of type '(err:any) =&gt; void' is not assignable to parameter of type '(err: any, caught: Observable&lt;any&gt;) =&gt; Observable&lt;{}&gt;"
        temp.subscribe(
        (res:any)=&gt; {this.data = res._body; console.log(res)},
        (error:any)=&gt;{ console.log("It isf from error..")},//It is not even getting called this block
        () =&gt; console.log('thire,,,ddjfladjfljasdlfj'));//In one of the forum they suggested to use this 3rd perameter, this is also not working for me.

  } 

}
</code></pre>