COMPUTE_FLOAT_PLUS_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW COMPUTE_FLOAT_TIMES_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW COMPUTE_INT_ABS_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW COMPUTE_INT_DIV_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW COMPUTE_INT_MINUS_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW COMPUTE_INT_PLUS_OVERFLOW CX_SY_ARITHME...
系统预定义异常:如cx_sy_arithmetic_overflow(算术溢出异常)、cx_sy_dynamic_osql_error(动态SQL错误异常)等,用于捕获系统级别的错误。 用户自定义异常:开发者可以根据自己的需求定义异常类,用于处理特定的业务逻辑错误。 3. ABAP中异常处理的基本流程 ABAP中的异常处理通常使用TRY...CATCH块来实现。以下是异常处理的...
| |--CX_SY_ARITHMETIC_ERROR | | | | | |--CX_SY_ZERODIVIDE | | | | | |--CX_SY_ARITHMETIC_OVERFLOW | | | | | |--CX_SY_ARG_OUT_OF_DOMAIN | | | | | |--CX_SY_PRECISION_LOSS | | | |--CX_SY_ASSIGN_ERROR | | | | | |--CX_SY_ASSIGN_CAST_ERROR | | | | | |...
CX_STATIC_CHECK: 它们不会自动传播。您将需要自己进行处理,否则程序中将出现语法错误。 类异常类树 CX_SY_ROOT | |–CX_STATIC_CHECK | |–CX_DYNAMIC_CHECK | | | |–CX_SY_ARITHMETIC_ERROR | | | | | |–CX_SY_ZERODIVIDE | | | | | |–CX_SY_ARITHMETIC_OVERFLOW | | | | | |–CX_SY...
A = SIN( B ).A = COS( B ). 计算时可以是复合表达式,计算时遵循以下优先顺序: 括号>函数>**>* / DIV MOD>+ - 赋值: 等号赋值 : A = B. MOVE赋值 :MOVE B TO A. WRITE赋值 :WRITE B TO A. 复位赋值 :CLEAR A. 逻辑表达式的运算符 ...
catch cx_sy_arithmetic_error into MYREF. ERR_TEXT = MYREF->GET_TEXT( ). endtry. Handling exceptions as catchable runtime errors (向后兼容6.10) 此异常处理sap建议使用try...endtry代替(错误和异常类对应关系参见第5部分)。 data RESULT type I. ...
catch cx_sy_arithmetic_error into MYREF. ERR_TEXT = MYREF->GET_TEXT( ). endtry. Handling exceptions as catchable runtime errors (向后兼容6.10) 此异常处理sap建议使用try...endtry代替(错误和异常类对应关系参见第5部分)。 data RESULT type I. ...
CX_SY_ROOT | |–CX_STATIC_CHECK | |–CX_DYNAMIC_CHECK | | | |–CX_SY_ARITHMETIC_ERROR | | | | | |–CX_SY_ZERODIVIDE | | | | | |–CX_SY_ARITHMETIC_OVERFLOW | | | | | |–CX_SY_ARG_OUT_OF_DOMAIN | | | | | |–CX_SY_PRECISION_LOSS ...
CX_ROOT | |--CX_STATIC_CHECK | |--CX_DYNAMIC_CHECK | | | |--CX_SY_ARITHMETIC_ERROR //运算 '&OPERATION&' 时发⽣算术错误 | | | | | |--CX_SY_ZERODIVIDE //除数为零 | | | | | |--CX_SY_ARITHMETIC_OVERFLOW //操作 &OPERATION& 中溢出 | |...
金额加算等需要注意溢出(CX_SY_ARITHMETIC_OVERFLOW) .F 浮动小数点数 可表示值范围1~31.如:1000000 ⇒ 1.0000000000000000E+06 用WRITE中的EXPONENT属性可以设定变量的指数, 如: f = 1000000. WRITE f EXPONENT2.⇒10000.000000000000E+02 ●演算符 + 加算 - 减算 * 乘算 / 除算 DIV 整除 MOD 取模...