浅析在C#里面抛出SAP里面自定义的异常信息

首先运行“SE37”在Exceptions页面增加异常信息,Exception为异常信息的代码,Short Text则为异常信息的详细文本,如图:

C#里面如果需要抛出用户自定义的异常,那么使用RfcAbapException即可,这个Exception是专门用来获取用户自定义的异常的。

 1   public void GetAllInfo(RfcDestination prd)
 2         {
 3             RfcRepository repo = prd.Repository;
 4             IRfcFunction irfc = repo.CreateFunction("ZAGETSAPDATAT");
 5             try
 6             {
 7                 irfc.SetValue("VTYPE", "0");
 8                 irfc.Invoke(prd);
 9                 string Value = irfc.GetValue("RRESULT").ToString();
10             }
11
12              //RfcAbapException   用于获取用户自定义的异常信息。
13             //RfcTypeConversionException  用于获取数据之间类型转换失败的异常信息。
14             catch (RfcAbapException ex)
15             {
16                 //Documentation获取对应的异常的说明文字.通过Key来获取。
17                 MessageBox.Show(irfc.Metadata.GetAbapException(ex.Key).Documentation);
18             }
19
20
21             IRfcTable table = irfc.GetTable("IT_ZMYTB2");
22             DataTable dt = new DataTable();
23             dt.Columns.Add("USERID");
24             dt.Columns.Add("USERPWD");
25             dt.Columns.Add("USERADDRESS");
26
27             for (int i = 0; i < table.RowCount; i++)
28             {
29                 table.CurrentIndex = i;
30                 DataRow dr = dt.NewRow();
31
32                 dr["USERID"] = table.GetString("USERID");
33                 dr["USERPWD"] = table.GetString("USERPWD");
34                 dr["USERADDRESS"] = table.GetString("USERADDRESS");
35                 dt.Rows.Add(dr);
36             }
37
38             dgv.DataSource = dt;
39             //prd = null;
40             //repo = null;
41         }

效果如下图所示,抛出的错误信息就是SAP里面自定义的Exception。

时间: 2024-12-30 18:19:27

浅析在C#里面抛出SAP里面自定义的异常信息的相关文章

java-怎么抛出自定义异常类中内部异常类?

问题描述 怎么抛出自定义异常类中内部异常类? 问题在代码中已标出,请大婶解疑,能不能这样做,这样做能不能实现 import javax.swing.JOptionPane; public class PasswdException extends Exception { PasswdException(int i) { if (i < 6) { System.out.println("密码不能小于六位"); } if (i > 6) { System.out.println

c# 在线程中访问webBrowser元素抛出&amp;amp;#39;指定的转换无效&amp;amp;#39;异常

问题描述 c# 在线程中访问webBrowser元素抛出'指定的转换无效'异常 在网上搜了很多, 都说是可以用委托将函数放在主线程调用 结果也是可以了. 但是这种方法就失去了线程的防假死功能 就等于又是一个线程在运作了(或者可以说变成了一个伪线程) 不能循环的访问webBrowser元素了,不然就出现假死状态 有没有办法可以 既能够在线程中访问webBrowser元素 又可以循环访问而不假死呢? 弄了一天了,求高手解答. public Form1() { InitializeComponent(

jsp 不能抛出checked异常时 处理方法

因此必须预先处理异常,另外,可以将异常转换为运行时异常,或者绕过它而不处理它.但是,应该这样做吗,这其中是否隐藏着错误? 问题 只要看一个例子,问题就清楚了.假设有一个File对象的List,需要按它们的标准路径以字典顺序排序.所谓标准路径,是指在解析别名.符号链接和/../及/./之后得到的完整绝对路径.本地方法使用一个比较器,如清单1所示: 1.清单1.按标准路径比较两个文件 2.importjava.io.File; 3.importjava.io.IOException; 4.impor

缺省构造函数不能处理隐式超构造函数抛出的异常类型 IOException。必须定义显式构造函数

问题描述 缺省构造函数不能处理隐式超构造函数抛出的异常类型 IOException.必须定义显式构造函数 int lastnum = getNum(source.getProperty(""fileName"")); public static int getNum(String Filename) throws IOException { InputStream myxls; myxls = new FileInputStream(Filename); sr =

YARN加载本地库抛出Unable to load native-hadoop library如何解决

用官方的Hadoop 2.1.0-beta安装后,每次hadoop命令进去都会抛出这样一个Warning WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 设置logger级别,看下具体原因 export HADOOP_ROOT_LOGGER=DEBUG,console 13/08/29

如何更合理的利用Java中的异常抛出

以前,我觉得编程语言中最让人不解的部分就是它能够创建错误.当时我对Java语言中的throw关键字的第一反应就是"啊,这也太傻了,为什么我们想要引发一个错误(error)?"我觉得错误是我的敌人,应当避免的,所以创建错误是毫无用处甚至是危险的.我认为在JavaScript中加入这样的关键字是多此一举.但随着我编程经验的丰富,我逐渐变成了throw我的error粉丝.合理的使用它们会让对代码的调试和维护大大简化. 在编程的时候,Error通常出现在不期望的事情发生时.可能是传入函数的参数

VC不定参数的传递和自定义异常的抛出

今天下午学习了两点,一,在vc自定义函数中传定不定个数的参数,即如format函数中的第二个参数"...",能接收任意个数参数;二,自定义异常的抛出,即throw一个自定义异常. 函数代码列如下: 1.// ComboProp.h: interface for the CComboProp class.2.//3.//////////////////////////////////////////////////////////////////////4.#if !defined(AF

[WPF]如何在关闭非模态子窗体时用消息框确认:解决最小化窗体时抛出的异常

又是一个看起来很简单的问题.像下面这样在Closing里弹出个MessageBox确认一下不就行了? public static void OnWindowClosing(object sender, CancelEventArgs e) { if (MessageBox.Show(string.Format("Are you sure to close the {0}?", (sender as Window).Title), "Confirm", Message

jsp 页面这样,然后服务器抛出空指针错误

问题描述 jsp 页面这样,然后服务器抛出空指针错误 <%@ page contentType = "text/html;charset= gbb2312" %> <%@ page language = "java" pageEncoding = "gb2312" %> <%@ page import = "java.util.*" %> <%@ page import = "