O tipo 'void' não pode ser atribuído ao tipo 'ObservableInput <{}>'

Esse erro começou a aparecer depois que eu migrei para o TS 2.2.2, então estou assumindo que esse é o problema ... O código não parou de funcionar, mas agora recebo esse erro e tentei algumas coisas como retornar um observável vazio , capturando a exceção lançada novamente e retornando um objeto, nada parecia funcionar. Porque isto esta acontecendo agora? Não deveria entender que estou lançando a exceção e não espero um retorno? Estou interpretando mal o erro?

Esta é a descrição completa do erro:

Aqui está o 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);
    });

Tentei retornar o Observable, mas meu método wrapper espera um retorno do tipoT, que é o retorno da minha solicitação desserializada (map(...)) Se eu devolver othrow este é o erro que recebo:

[ts] O tipo 'Observável' não é atribuível ao tipo 'T'

Estou a usar:

Angular4Texto datilografado 2.2.2

questionAnswers(3)

yourAnswerToTheQuestion