Code: Alles auswählen.
NEW ZCL_DUDEN=>get_instance(
)->check( 'supercalifragilisticexpialigetisch'
)->save( ).
Code: Alles auswählen.
METHOD check.
IF iv_word CA '0123456789'.
RAISE NOT_A_WORD.
ENDIF.
ro_me = go_me.
ENDMETHOD.
Code: Alles auswählen.
TRY.
NEW ZCL_DUDEN=>get_instance(
)->check( 'supercalifragilisticexpialigetisch'
)->save( ).
CATCH NOT_A_WORD.
CATCH CX_ROOT.
ENDTRY.
Das ist richtig... ;)
Code: Alles auswählen.
REPORT.
CLASS not_a_word DEFINITION INHERITING FROM cx_static_check.
PUBLIC SECTION.
ENDCLASS.
CLASS duden DEFINITION.
PUBLIC SECTION.
METHODS check
IMPORTING
word TYPE string
RETURNING
VALUE(object) TYPE REF TO duden
RAISING not_a_word.
METHODS save.
PROTECTED SECTION.
DATA word TYPE string.
ENDCLASS.
CLASS duden IMPLEMENTATION.
METHOD check.
IF word CA '0123456789'.
RAISE EXCEPTION TYPE not_a_word.
ELSE.
me->word = word.
ENDIF.
object = me.
ENDMETHOD.
METHOD save.
MESSAGE |{ word } saved in dictionary| TYPE 'I'.
ENDMETHOD.
ENDCLASS.
PARAMETERS p_word TYPE string.
START-OF-SELECTION.
TRY.
NEW duden( )->check( p_word )->save( ).
CATCH not_a_word INTO DATA(word_error).
MESSAGE 'That''s no word... :(' TYPE 'I'.
ENDTRY.