El tipo 'void' no es asignable para escribir 'ObservableInput <{}>'

Este error comenzó a aparecer después de migrar a TS 2.2.2, así que supongo que ese es el problema ... El código no dejó de funcionar, pero ahora recibo ese error e intenté algunas cosas como devolver un observable vacío , captando la excepción relanzada y devolviendo un objeto, nada parecía funcionar. ¿Por qué sucede esto ahora? ¿No debería entender que estoy volviendo a lanzar la excepción y no esperar un retorno? ¿Estoy leyendo mal el error?

Esta es la descripción completa del error:

Aquí está el código completo:

return request
    .map((res: Response) => res.json())
    .catch((error: any) => {
        // todo: log?

        if (error.status == 500) {
            this.alertService.showError(error.statusText);
        } else if (error.status == 588) {
            this.alertService.showAlert(error.statusText);
        }

        Observable.throw(error.statusText);
    });

Intenté devolver el Observable, pero mi método de contenedor espera un retorno de tipoT, que es la devolución de mi solicitud deserializada (map(...)) Si devuelvo elthrow este es el error que obtengo:

[ts] El tipo 'Observable' no se puede asignar al tipo 'T'

Estoy usando:

Angular4Mecanografiado 2.2.2

Respuestas a la pregunta(3)

Su respuesta a la pregunta