"
Apoiado por

Ignorar excepções de um módulo de função

Quando chamas um módulo de função que devolve excepções normalmente dás-lhes números sequenciais tipo isto:


CALL FUNCTION 'VAI_ALI_MAS_VOLTA'
  EXPORTING
    ali = 'Barreiro'
  EXCEPTIONS
    NOT_FOUND = 1
    GOT_LOST  = 2
    OTHERS    = 3.

Mas se a seguir não tiveres o cuidado de ter um IF ou um CASE a olharem para o SY-SUBRC o Code Inspector pode devolve-te um erro caso esteja configurado para tal.

No entanto há situações em que tens a certeza absoluta de que a função não vai dar erro e podes por isso evitar testar o SY-SUBRC. Para evitar os avisos do Code Inspector podes fazer duas coisas:

1. Utilizar o pseudo-comentário “#EC CI_SUBRC
2. Metes todos os valores da excepção = 0. Assim:


CALL FUNCTION 'VAI_ALI_MAS_VOLTA'
  EXPORTING
    ali = 'Barreiro'
  EXCEPTIONS
    NOT_FOUND = 0
    GOT_LOST  = 0
    OTHERS    = 0.

Achei esta segunda muito engraçada.

Obrigado Leo Reynolds pela foto.

O Abapinho saúda-vos.

2 comentários a “Ignorar excepções de um módulo de função”

  1. SÉRGIO FRAGA Diz:

    Muito Fixe,

    convém o belo do comentário para o próximo developer perceber qual a razão de tanto 0!

  2. Rui Dantas Diz:

    e… basta o OTHERS, certo?

Deixe um comentário


Acerca do Abapinho
O Abapinho é suportado pelo WordPress
Artigos (RSS) e Comentários (RSS).