Skip to content

Commit f274b23

Browse files
committed
New exceptions
1 parent 262e90d commit f274b23

1 file changed

Lines changed: 52 additions & 46 deletions

File tree

src/zcl_convert.clas.abap

Lines changed: 52 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ CLASS zcl_convert IMPLEMENTATION.
280280
result = xsdbool( <data> IS NOT INITIAL ).
281281

282282
WHEN OTHERS.
283-
zcx_error=>raise( _conversion_error( 'bool' ) ).
283+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'bool' ).
284284
ENDCASE.
285285

286286
ENDMETHOD.
@@ -311,15 +311,15 @@ CLASS zcl_convert IMPLEMENTATION.
311311
DATA(string_data) = to_string( ).
312312
result = string_data.
313313
CATCH cx_root.
314-
zcx_error=>raise( _conversion_error( 'char' ) ).
314+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'char' ).
315315
ENDTRY.
316316

317317
IF condense( result ) <> condense( string_data ).
318-
zcx_error=>raise( 'Data is longer than target variable' ).
318+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = 'Data is longer than target variable'.
319319
ENDIF.
320320

321321
WHEN OTHERS.
322-
zcx_error=>raise( _conversion_error( 'char' ) ).
322+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'char' ).
323323
ENDCASE.
324324

325325
ENDMETHOD.
@@ -338,19 +338,19 @@ CLASS zcl_convert IMPLEMENTATION.
338338
TRY.
339339
result = CONV d( <data> ).
340340
CATCH cx_root.
341-
zcx_error=>raise( _conversion_error( 'date' ) ).
341+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'date' ).
342342
ENDTRY.
343343

344344
WHEN cl_abap_typedescr=>typekind_packed.
345345

346346
TRY.
347347
CONVERT TIME STAMP <data> TIME ZONE timezone INTO DATE result.
348348
CATCH cx_root.
349-
zcx_error=>raise( _conversion_error( 'date' ) ).
349+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'date' ).
350350
ENDTRY.
351351

352352
WHEN OTHERS.
353-
zcx_error=>raise( _conversion_error( 'date' ) ).
353+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'date' ).
354354
ENDCASE.
355355

356356
ENDMETHOD.
@@ -362,7 +362,7 @@ CLASS zcl_convert IMPLEMENTATION.
362362
DATA(decfloat34) = to_decfloat34( ).
363363
result = CONV decfloat16( decfloat34 ).
364364
CATCH cx_root.
365-
zcx_error=>raise( _conversion_error( 'decfloat16' ) ).
365+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'decfloat16' ).
366366
ENDTRY.
367367

368368
ENDMETHOD.
@@ -388,7 +388,7 @@ CLASS zcl_convert IMPLEMENTATION.
388388
TRY.
389389
result = CONV decfloat34( <data> ).
390390
CATCH cx_root.
391-
zcx_error=>raise( _conversion_error( 'decfloat34' ) ).
391+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'decfloat34' ).
392392
ENDTRY.
393393

394394
WHEN cl_abap_typedescr=>typekind_char
@@ -403,11 +403,11 @@ CLASS zcl_convert IMPLEMENTATION.
403403
DATA(string_data) = to_string( ).
404404
result = CONV decfloat34( string_data ).
405405
CATCH cx_root.
406-
zcx_error=>raise( _conversion_error( 'decfloat34' ) ).
406+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'decfloat34' ).
407407
ENDTRY.
408408

409409
WHEN OTHERS.
410-
zcx_error=>raise( _conversion_error( 'decfloat34' ) ).
410+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'decfloat34' ).
411411
ENDCASE.
412412

413413
ENDMETHOD.
@@ -421,14 +421,14 @@ CLASS zcl_convert IMPLEMENTATION.
421421
TYPES ty_ms TYPE n LENGTH 3.
422422

423423
IF millisec < 0 OR millisec > 999.
424-
zcx_error=>raise( 'Milliseconds must be between 0 and 999' ).
424+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = 'Milliseconds must be between 0 and 999'.
425425
ENDIF.
426426

427427
TRY.
428428
DATA(ms) = CONV ty_ms( millisec ).
429429
result = to_unixtime( ) && ms.
430430
CATCH cx_root.
431-
zcx_error=>raise( _conversion_error( 'epoch' ) ).
431+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'epoch' ).
432432
ENDTRY.
433433

434434
ENDMETHOD.
@@ -454,7 +454,7 @@ CLASS zcl_convert IMPLEMENTATION.
454454
TRY.
455455
result = CONV f( <data> ).
456456
CATCH cx_root.
457-
zcx_error=>raise( _conversion_error( 'float' ) ).
457+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'float' ).
458458
ENDTRY.
459459

460460
WHEN cl_abap_typedescr=>typekind_char
@@ -469,11 +469,11 @@ CLASS zcl_convert IMPLEMENTATION.
469469
DATA(string_data) = to_string( ).
470470
result = CONV f( string_data ).
471471
CATCH cx_root.
472-
zcx_error=>raise( _conversion_error( 'float' ) ).
472+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'float' ).
473473
ENDTRY.
474474

475475
WHEN OTHERS.
476-
zcx_error=>raise( _conversion_error( 'float' ) ).
476+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'float' ).
477477
ENDCASE.
478478

479479
ENDMETHOD.
@@ -485,11 +485,11 @@ CLASS zcl_convert IMPLEMENTATION.
485485
DATA(xstring_data) = to_xstring( ).
486486
result = xstring_data.
487487
CATCH cx_root.
488-
zcx_error=>raise( _conversion_error( 'hex' ) ).
488+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'hex' ).
489489
ENDTRY.
490490

491491
IF result <> xstring_data.
492-
zcx_error=>raise( 'Data is longer than target variable' ).
492+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = 'Data is longer than target variable'.
493493
ENDIF.
494494

495495
ENDMETHOD.
@@ -501,7 +501,7 @@ CLASS zcl_convert IMPLEMENTATION.
501501
DATA(int8) = to_int8( ).
502502
result = CONV i( int8 ).
503503
CATCH cx_root.
504-
zcx_error=>raise( _conversion_error( 'integer' ) ).
504+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'integer' ).
505505
ENDTRY.
506506

507507
ENDMETHOD.
@@ -529,7 +529,7 @@ CLASS zcl_convert IMPLEMENTATION.
529529
TRY.
530530
result = CONV int8( <data> ).
531531
CATCH cx_root.
532-
zcx_error=>raise( _conversion_error( 'int8' ) ).
532+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'int8' ).
533533
ENDTRY.
534534

535535
WHEN cl_abap_typedescr=>typekind_char
@@ -542,11 +542,11 @@ CLASS zcl_convert IMPLEMENTATION.
542542
DATA(string_data) = to_string( ).
543543
result = CONV int8( string_data ).
544544
CATCH cx_root.
545-
zcx_error=>raise( _conversion_error( 'int8' ) ).
545+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'int8' ).
546546
ENDTRY.
547547

548548
WHEN OTHERS.
549-
zcx_error=>raise( _conversion_error( 'int8' ) ).
549+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'int8' ).
550550
ENDCASE.
551551

552552
ENDMETHOD.
@@ -562,7 +562,7 @@ CLASS zcl_convert IMPLEMENTATION.
562562

563563
result = |{ timestampl TIMESTAMP = ISO }|.
564564
CATCH cx_root.
565-
zcx_error=>raise( _conversion_error( 'isotime' ) ).
565+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'isotime' ).
566566
ENDTRY.
567567

568568
ENDMETHOD.
@@ -590,7 +590,7 @@ CLASS zcl_convert IMPLEMENTATION.
590590
TRY.
591591
result = <data>.
592592
CATCH cx_root.
593-
zcx_error=>raise( _conversion_error( 'packed' ) ).
593+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'packed' ).
594594
ENDTRY.
595595

596596
WHEN cl_abap_typedescr=>typekind_char
@@ -605,11 +605,11 @@ CLASS zcl_convert IMPLEMENTATION.
605605
DATA(string_data) = to_string( ).
606606
result = string_data.
607607
CATCH cx_root.
608-
zcx_error=>raise( _conversion_error( 'packed' ) ).
608+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'packed' ).
609609
ENDTRY.
610610

611611
WHEN OTHERS.
612-
zcx_error=>raise( _conversion_error( 'packed' ) ).
612+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'packed' ).
613613
ENDCASE.
614614

615615
ENDMETHOD.
@@ -645,7 +645,7 @@ CLASS zcl_convert IMPLEMENTATION.
645645
result = CONV string( <data> ).
646646
" FIXME? Might have a trailing space. Should we trim it?
647647
CATCH cx_root.
648-
zcx_error=>raise( _conversion_error( 'string' ) ).
648+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'string' ).
649649
ENDTRY.
650650

651651
WHEN cl_abap_typedescr=>typekind_hex
@@ -668,7 +668,9 @@ CLASS zcl_convert IMPLEMENTATION.
668668
RECEIVING
669669
rv_string = result.
670670
CATCH cx_root INTO DATA(error).
671-
zcx_error=>raise( _conversion_error( 'string' ) && error->get_text( ) ).
671+
RAISE EXCEPTION TYPE zcx_error_text
672+
EXPORTING
673+
text = _conversion_error( 'string' ) && error->get_text( ).
672674
ENDTRY.
673675

674676
WHEN cl_abap_typedescr=>typekind_table.
@@ -682,11 +684,11 @@ CLASS zcl_convert IMPLEMENTATION.
682684
table = <table>
683685
sep = cl_abap_char_utilities=>newline ).
684686
CATCH cx_root.
685-
zcx_error=>raise( _conversion_error( 'string' ) ).
687+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'string' ).
686688
ENDTRY.
687689

688690
WHEN OTHERS.
689-
zcx_error=>raise( _conversion_error( 'string' ) ).
691+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'string' ).
690692
ENDCASE.
691693

692694
IF options-trim_strings = abap_true.
@@ -710,11 +712,11 @@ CLASS zcl_convert IMPLEMENTATION.
710712
TRY.
711713
result = CONV t( <data> ).
712714
CATCH cx_root.
713-
zcx_error=>raise( _conversion_error( 'time' ) ).
715+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'time' ).
714716
ENDTRY.
715717

716718
WHEN OTHERS.
717-
zcx_error=>raise( _conversion_error( 'time' ) ).
719+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'time' ).
718720
ENDCASE.
719721

720722
ENDMETHOD.
@@ -726,11 +728,11 @@ CLASS zcl_convert IMPLEMENTATION.
726728
DATA(timestampl) = to_timestampl( timezone ).
727729
DATA(frac) = frac( timestampl ).
728730
IF frac <> 0.
729-
zcx_error=>raise( _conversion_error( 'timestamp' ) ).
731+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'timestamp' ).
730732
ENDIF.
731733
result = timestampl ##TYPE.
732734
CATCH cx_root.
733-
zcx_error=>raise( _conversion_error( 'timestamp' ) ).
735+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'timestamp' ).
734736
ENDTRY.
735737

736738
ENDMETHOD.
@@ -749,27 +751,27 @@ CLASS zcl_convert IMPLEMENTATION.
749751
TRY.
750752
result = CONV timestampl( <data> ).
751753
CATCH cx_root.
752-
zcx_error=>raise( _conversion_error( 'timestampl' ) ).
754+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'timestampl' ).
753755
ENDTRY.
754756

755757
WHEN cl_abap_typedescr=>typekind_date.
756758

757759
TRY.
758760
CONVERT DATE <data> INTO TIME STAMP result TIME ZONE timezone.
759761
CATCH cx_root.
760-
zcx_error=>raise( _conversion_error( 'timestampl' ) ).
762+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'timestampl' ).
761763
ENDTRY.
762764

763765
WHEN cl_abap_typedescr=>typekind_utclong.
764766

765767
TRY.
766768
result = cl_abap_tstmp=>utclong2tstmp( <data> ).
767769
CATCH cx_root.
768-
zcx_error=>raise( _conversion_error( 'timestampl' ) ).
770+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'timestampl' ).
769771
ENDTRY.
770772

771773
WHEN OTHERS.
772-
zcx_error=>raise( _conversion_error( 'timestampl' ) ).
774+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'timestampl' ).
773775
ENDCASE.
774776

775777
ENDMETHOD.
@@ -813,7 +815,7 @@ CLASS zcl_convert IMPLEMENTATION.
813815

814816
result = condense( CONV string( unixtime ) ).
815817
CATCH cx_root.
816-
zcx_error=>raise( _conversion_error( 'unixtime' ) ).
818+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'unixtime' ).
817819
ENDTRY.
818820

819821
ENDMETHOD.
@@ -834,19 +836,19 @@ CLASS zcl_convert IMPLEMENTATION.
834836
TRY.
835837
result = CONV utclong( <data> ).
836838
CATCH cx_root.
837-
zcx_error=>raise( _conversion_error( 'utclong' ) ).
839+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'utclong' ).
838840
ENDTRY.
839841

840842
WHEN cl_abap_typedescr=>typekind_date.
841843

842844
TRY.
843845
CONVERT DATE <data> TIME t TIME ZONE timezone INTO UTCLONG result.
844846
CATCH cx_root.
845-
zcx_error=>raise( _conversion_error( 'utclong' ) ).
847+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'utclong' ).
846848
ENDTRY.
847849

848850
WHEN OTHERS.
849-
zcx_error=>raise( _conversion_error( 'utclong' ) ).
851+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'utclong' ).
850852
ENDCASE.
851853

852854
ENDMETHOD.
@@ -864,13 +866,15 @@ CLASS zcl_convert IMPLEMENTATION.
864866
OR cl_abap_typedescr=>typekind_xstring.
865867

866868
IF encoding IS NOT INITIAL.
867-
zcx_error=>raise( 'Cannot convert encoding since data is already in hex format' ).
869+
RAISE EXCEPTION TYPE zcx_error_text
870+
EXPORTING
871+
text = 'Cannot convert encoding since data is already in hex format'.
868872
ENDIF.
869873

870874
TRY.
871875
result = CONV xstring( <data> ).
872876
CATCH cx_root.
873-
zcx_error=>raise( _conversion_error( 'xstring' ) ).
877+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'xstring' ).
874878
ENDTRY.
875879

876880
WHEN cl_abap_typedescr=>typekind_char
@@ -906,11 +910,13 @@ CLASS zcl_convert IMPLEMENTATION.
906910
RECEIVING
907911
rv_xstring = result.
908912
CATCH cx_root INTO DATA(error).
909-
zcx_error=>raise( _conversion_error( 'xstring' ) && error->get_text( ) ).
913+
RAISE EXCEPTION TYPE zcx_error_text
914+
EXPORTING
915+
text = _conversion_error( 'xstring' ) && error->get_text( ).
910916
ENDTRY.
911917

912918
WHEN OTHERS.
913-
zcx_error=>raise( _conversion_error( 'xstring' ) ).
919+
RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'xstring' ).
914920
ENDCASE.
915921

916922
ENDMETHOD.

0 commit comments

Comments
 (0)