首页 > 其他分享 >ZCX_NO_CHECK

ZCX_NO_CHECK

时间:2023-05-18 23:23:30浏览次数:34  
标签:exception no ZCX NO CHECK cx go zcx check

Introduction

Class: ZCX_NO_CHECK

  • Enhance Exception Class: CX_NO_CHECK
  • Easy to trace exception

History

VersionDateNameDescription
V001 2020/12/10 Huang Roy 初版

Class Screen

  • Long Text: 設定如文章一般的超長訊息
  • 左側為Text ID,右為Text

  • 請 不要 修改此Exception Class,以繼承方式加上新的textid或是直接自訂訊息
  • 繼承的Exception Class皆可以upcasting to ZCX_NO_CHECK
  • Exception Class一定要是YCX_ or ZCX_ 開頭

RAISE Syntax

  • textid未設定,預設是使用exception class同名text id
  • msg1~msg4為自訂訊息,在text內可以用 &msgN& 作為變數附加訊息
RAISE EXCEPTION TYPE zcx_no_check
  EXPORTING
    textid = xx
    msg1   = xx
    msg2   = xx
    msg3   = xx
    msg4   = xx.

Public Method

SHOW

  • 顯示錯誤訊息視窗(Background Job顯示於spool)
ParameterLevelPass ValueOptionalType(Ref To)DefaultDescription
I_LONG Importing   X ABAP_BOOL   Show Long Text

Sample 1: 使用textid(zcx_no_check=>no_data)

  • 由於是static check,須在methods後加上RAISING語法,未加時check syntax會提示。
  • 由於是no check,在method後不用加RAISING語法,但也由於是no check,所以check syntax時不會提醒需要catch的exception class。
Click to Expand Code
CLASS lcl_test DEFINITION FINAL.
  PUBLIC SECTION.
    CLASS-METHODS trigger_exception.
ENDCLASS.
CLASS lcl_test IMPLEMENTATION.
  METHOD trigger_exception.
    RAISE EXCEPTION TYPE zcx_no_check
      EXPORTING
        textid = zcx_no_check=>no_data.
  ENDMETHOD.
ENDCLASS.
DATA: go_cx TYPE REF TO zcx_no_check.
START-OF-SELECTION.
  TRY.
      lcl_test=>trigger_exception( ).
    CATCH zcx_no_check INTO go_cx.
      go_cx->show( ).
  ENDTRY.

Result(左dialog,右backgroun。如訊息,出錯於YQQTEST第17列)


Sample 2: 使用textid+自訂message(zcx_no_check=>no_data_memo)

Click to Expand Code
CLASS lcl_test DEFINITION FINAL.
  PUBLIC SECTION.
    CLASS-METHODS trigger_exception.
ENDCLASS.
CLASS lcl_test IMPLEMENTATION.
  METHOD trigger_exception.
    RAISE EXCEPTION TYPE zcx_no_check
      EXPORTING
        textid = zcx_no_check=>no_data_memo
        msg1   = 'QQQQQ'.
  ENDMETHOD.
ENDCLASS.
DATA: go_cx TYPE REF TO zcx_no_check.
START-OF-SELECTION.
  TRY.
      lcl_test=>trigger_exception( ).
    CATCH zcx_no_check INTO go_cx.
      go_cx->show( ).
  ENDTRY.

Result


Sample 3: 完全自訂message

Click to Expand Code
CLASS lcl_test DEFINITION FINAL.
  PUBLIC SECTION.
    CLASS-METHODS trigger_exception.
ENDCLASS.
CLASS lcl_test IMPLEMENTATION.
  METHOD trigger_exception.
    RAISE EXCEPTION TYPE zcx_no_check
      EXPORTING
        msg1 = 'Q'
        msg2 = 'Q'
        msg3 = 'Q'
        msg4 = 'Q'.
  ENDMETHOD.
ENDCLASS.
DATA: go_cx TYPE REF TO zcx_no_check.
START-OF-SELECTION.
  TRY.
      lcl_test=>trigger_exception( ).
    CATCH zcx_no_check INTO go_cx.
      go_cx->show( ).
  ENDTRY.

Result


Sample 4: Global Class

  • 同local class,no check不需在Exception設定

Click to Expand Code

Method Code

METHOD trigger_exception.
  RAISE EXCEPTION TYPE zcx_no_check
    EXPORTING
      textid = zcx_no_check=>no_data.
ENDMETHOD.

Report Code:

DATA: go_cx TYPE REF TO zcx_no_check.
START-OF-SELECTION.
  TRY.
      ycl_qqtest=>trigger_exception( ).
    CATCH zcx_no_check INTO go_cx.
      go_cx->show( ).
  ENDTRY. 

Result


GET_SHOW_MSG

  • 取得Method: SHOW顯示的所有文字
ParameterLevelPass ValueOptionalType(Ref To)DefaultDescription
I_LONG Importing   X ABAP_BOOL   Show Long Text
RT_MSG Returning X   CHAR80_T   Show Message

Sample:

Click to Expand Code
CLASS lcl_test DEFINITION FINAL.
  PUBLIC SECTION.
    CLASS-METHODS trigger_exception.
ENDCLASS.
CLASS lcl_test IMPLEMENTATION.
  METHOD trigger_exception.
    RAISE EXCEPTION TYPE zcx_no_check
      EXPORTING
        textid = zcx_no_check=>no_data.
  ENDMETHOD.
ENDCLASS.
DATA: go_cx TYPE REF TO zcx_no_check,
      gt_msg TYPE char80_t.
START-OF-SELECTION.
  TRY.
      lcl_test=>trigger_exception( ).
    CATCH zcx_no_check INTO go_cx.
      gt_msg = go_cx->get_show_msg( ).
  ENDTRY.

Result(Debug Mode)


GET_SHOW_MSG_STR

  • 取得Method: SHOW顯示的所有文字(String)
ParameterLevelPass ValueOptionalType(Ref To)DefaultDescription
I_LONG Importing   X ABAP_BOOL   Show Long Text
R_MSG Returning X   STRING   Show Message

Sample:

Click to Expand Code
CLASS lcl_test DEFINITION FINAL.
  PUBLIC SECTION.
    CLASS-METHODS trigger_exception.
ENDCLASS.
CLASS lcl_test IMPLEMENTATION.
  METHOD trigger_exception.
    RAISE EXCEPTION TYPE zcx_no_check
      EXPORTING
        textid = zcx_no_check=>no_data.
  ENDMETHOD.
ENDCLASS.
DATA: go_cx TYPE REF TO zcx_no_check,
      g_msg TYPE string.
START-OF-SELECTION.
  TRY.
      lcl_test=>trigger_exception( ).
    CATCH zcx_no_check INTO go_cx.
      g_msg = go_cx->get_show_msg_str( ).
  ENDTRY.

Result(Debug Mode)


技術提供: Gitea 版本: 1.15.5 頁面: 467ms 樣板: 1ms   繁體中文(台灣)  授權條款 API 網站 Go1.16.9

标签:exception,no,ZCX,NO,CHECK,cx,go,zcx,check
From: https://www.cnblogs.com/TYAING/p/17413585.html

相关文章

  • ZCX_STATIC_CHECK
    IntroductionHistoryClassScreenRAISESyntaxPublicMethodSHOWGET_SHOW_MSGGET_SHOW_MSG_STRIntroductionClass:ZCX_STATIC_CHECKEnhanceExceptionClass:CX_STATIC_CHECKEasytotraceexceptionHistoryVersionDateNameDescriptionV0012......
  • P2052 [NOI2011] 道路修建
    题不算难,但还是有一点坑的求一条边一侧的结点数量显然可以dfs求出来,另一侧结点数就是\(n-size_i\),其中\(size_i\)是结点\(i\)的子树大小。longlongans,size[N];inlinevoiddfs(intp,intfa){ size[p]=1; for(autoi:v[p]){ if(i.to==fa)continue; dfs(i.to,p......
  • #yyds干货盘点#灵活的 Node.js 多功能爬虫库 —— x-crawl
    x-crawlx-crawl是一个灵活的Node.js多功能爬虫库。灵活的使用方式和众多的功能可以帮助您快速、安全、稳定地爬取页面、接口以及文件。如果你也喜欢x-crawl,可以给 x-crawl存储库 点个star支持一下,感谢大家的支持!GitHub:https://github.com/coder-hxl/x-crawl特征异步同步......
  • Polynomial 杂题
    pjudgects比赛,什么都不会暴力也打不出啥,自闭了。下午做一些杂题回一回神吧,可能不太算杂题因为你发现大部分都是Poly。UOJ424集训队作业2018count同构等价于笛卡尔树同构,而所有的数都出现过的要求是不必要的(因为可以等价成一个\([1,m]\)都出现的序列)。那么考虑对笛卡尔树......
  • 学习记录:NC16622[NOIP2009]多项式输出
    题目链接:https://ac.nowcoder.com/acm/problem/16622解题思路:这题有个在拓扑序上的直觉。(并不完全是拓扑学,只是一种感觉)举个例子,每i项,都是有了符号,再有系数,最后指数,我们确定了前面输出什么才有后面的判断。但并不完全是这样,该题当指数为0时,会影响系数的输出格式(x是否要输出......
  • [NOIP1999 普及组] 导弹拦截
    [NOIP1999普及组]导弹拦截题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套......
  • Spring Could not find unique TaskExecutor bean 错误
    这个错误其实是debug级别的错误,是不影响运行的。错误栈为:15:27:57.726DEBUG12844---[nio-8080-exec-1].s.a.AnnotationAsyncExecutionInterceptor:CouldnotfinduniqueTaskExecutorbeanorg.springframework.beans.factory.NoUniqueBeanDefinitionException:Noqu......
  • 性能测试-Notes
    1、web端项目性能测试从事web端项目性能测试需要借助于LoadRunner11.0.全栈软件测试要求测试人员掌握多种技术,包括前后端,利用多种工具完成产品的独立测试和验收。2、前端与后端的区别前端注重用户界面设计、交互效果、页面加载速度等与用户直接接触的方面。后端则更注重业务......
  • APP-Notes
    常用ADB命令#查看当前PC连接的设备号adbdevices#进入设备adbshell#退出设备Ctrl+D或exit#进入指定设备adbconnect设备号例:adbconnect127.0.0.1:52001(同一局域网下使用)adb-s设备号例:adb-semulator-554shell(通过USB数据线连接下使用)#查询设备的ID和序列......
  • Virtual host / experienced an error on node root@XXX and may be inaccessible
    问题: 解决办法:1、find-name  queues 查找rabbitmq队列文件夹,找到对应的目录 2、到步骤1找到的目录下备份后删除以下文件:recovery.dets、msg_store_transient、queues3、重启rabbitmq即可。 ......