一种是rase <exceptions>

FUNCTION ztest.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(NOB) TYPE I OPTIONAL
*" EXPORTING
*" VALUE(NAME) TYPE CHAR10
*" EXCEPTIONS
*" DEV_ZERO
*"----------------------------------------------------------------------
IF nob <> .
name = '张三'.
ELSE.
RAISE dev_zero .
ENDIF.
ENDFUNCTION.

程序中调用:在程序里自己处理异常

REPORT  ZTEST_FC.

DATA : lv  TYPE i,
lc TYPE char10.
lv = . CALL FUNCTION 'ZTEST'
EXPORTING
NOB = LV
IMPORTING
NAME = LC
EXCEPTIONS
DEV_ZERO =
OTHERS =
.
IF sy-subrc = .
MESSAGE '我在处理异常DEV_ZERO' TYPE 'E'.
ENDIF.

另一种是不需要在程序中处理,自己要在函数中写好处理异常。message type rasing <exceptions>

FUNCTION ztest.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(NOB) TYPE I OPTIONAL
*" EXPORTING
*" VALUE(NAME) TYPE CHAR10
*" EXCEPTIONS
*" DEV_ZERO
*"----------------------------------------------------------------------
IF nob <> .
name = '张三'.
ELSE.
MESSAGE '处理异常' TYPE 'E' RAISING dev_zero .
ENDIF. ENDFUNCTION.
REPORT  ZTEST_FC.

DATA : lv  TYPE i,
lc TYPE char10.
lv = . CALL FUNCTION 'ZTEST'
EXPORTING
NOB = LV
IMPORTING
NAME = LC
EXCEPTIONS
DEV_ZERO =
OTHERS =
.
IF sy-subrc <> .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO "函数ZTEST 里面的处理消息 赋在SY-MSGID SY-MSGTY SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

se37 函数中的异常使用的更多相关文章

  1. oracle 在存储过程或函数中得到异常sql

    BEGIN SQLSTR := 'UPDATE TBL ...'; EXECUTE IMMEDIATE SQLSTR; EXCEPTION WHEN OTHERS INSERT INTO LOG_TA ...

  2. PHP中Exception异常

    异常的基本使用 当异常被抛出时,其后的代码不会继续执行,PHP 会尝试查找匹配的 "catch" 代码块. 如果异常没有被捕获,而且又没用使用 set_exception_hand ...

  3. C++中的异常

    一,异常的推演 1.函数与异常 平时我们在函数中出现异常情况时通常通过return终止函数并返回一个值,然后在函数上层来获取值并判断是什么异常情况.因为函数是栈结构的,所以return的时候是通过栈结 ...

  4. Java中的异常和处理详解

    简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?. ...

  5. Java 中的异常和处理详解

    Java 中的异常和处理详解 原文出处: 代码钢琴家 简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误 ...

  6. 关于java中Exception异常

    一.理解异常及异常处理的概念 异常就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序. 异常不是错误 程序中关键的位置有异常处理,提高程序的稳定性 二.掌握Java异常处理机制 Jav ...

  7. Java 中的异常和处理详解(转载)

    原文出处: 代码钢琴家 简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函 ...

  8. Java中的异常和处理详解(转发:https://www.cnblogs.com/lulipro/p/7504267.html)

    简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?. ...

  9. 夯实Java基础系列10:深入理解Java中的异常体系

    目录 为什么要使用异常 异常基本定义 异常体系 初识异常 异常和错误 异常的处理方式 "不负责任"的throws 纠结的finally throw : JRE也使用的关键字 异常调 ...

随机推荐

  1. Creator性能优化

    性能优化主要这几个方面进行优化:加载优化,渲染优化,内存优化,CPU优化及一些小技巧. 加载优化 图片资源处理:巧用九宫格拉伸来实现资源得复用,如大的纯色背景图,完全可以使用一张小图来进行拉伸获得: ...

  2. leetcode 1278 分割回文串

    time O(n^2*k)  space O(n^2) class Solution { public: int palindromePartition(string s, int K) { //分成 ...

  3. eclipse svn is already locked解决方案

    转: eclipse svn is already locked解决方案 2017年05月15日 22:21:54 Aaron莫言 阅读数:5867   版权声明:本文为博主原创文章,未经博主允许不得 ...

  4. Redis 高级应用

    Redis SAVE 命令用于创建当前数据库的备份 该命令将在 redis 安装目录中创建dump.rdb文件. 如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并 ...

  5. Xcode真机报错clang: error: linker command failed with exit code 1 (use -v to see invocation)

    出现这种错误,如下图所示,搜索bitcode,置为NO即可.

  6. JS事件中级 --- 拖拽

    http://bbs.zhinengshe.com/thread-1200-1-1.html 要求:实现div块的拖拽 原理:拖拽过程中鼠标点和div块的相对位置保持不变. 需要理解三点: 1. 为什 ...

  7. 054. Spiral Matrix

    题目链接:https://leetcode.com/problems/spiral-matrix/description/ Given a matrix of m x n elements (m ro ...

  8. vue-cli 3.x 构建项目,webpack没有了?

    vue-cli 3.x 已经没有了webpack.config.js文件.取而代之的是创建一个vue.config.js文件.官网是这样介绍的 vue.config.js const path = r ...

  9. 如何上传整个项目或者是文件夹到github

    原文地址:https://www.cnblogs.com/cairsha/p/11430436.html   在做github个人主页的时候,使用github的readme写起来很麻烦,而且也不好加入 ...

  10. 【AMAD】schema -- 使用pythonic的方式进行schema验证

    动机 简介 用法 个人评分 动机 验证数据是否符合规范是很有用的,比如: 用于单元测试 用于验证用户提交的数据是否合法 简介 schema1是一个用来验证python数据结构的库. 可以用来验证诸如: ...