以"系统找不到指定的路径"的方式知道实际错误?

2020-09-12 00:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我有时间使用CR,但...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我有时间使用CR,但是我总是为错误"系统找不到指定的路径"而烦恼,因为它可能是任何东西,我想知道是否有办法确切地知道错误是什么。

我有以下测试方案:

-报表的标题页大小大于实际页面大小(这是我要捕获的错误)。

-这是代码:

尝试

将ReportStream视作System.IO.Stream = OutputReport.ExportToStream(OutputReport.ExportOptions.ExportFormatType)

将ex捕获为例外

将s作为字符串= ex.message

结束尝试

当我尝试生成文档时,即时消息错误消息是"系统找不到指定的路径",即使我知道实际错误是由于标头大小大于页面大小,还是有办法捕获特定错误 ?



1条回答
悠然的二货
2020-09-12 01:12 .采纳回答

嗨,安东尼奥,

很遗憾,导出时我们没有事件,只有在查看时才有。

由于报表引擎只有在查看,打印或导出页面后才会呈现页面并设置其格式,因此无法生成实际错误。 但是我明白你的意思,这个错误是令人误解的……我会问研发部门……

如果添加一个查看器错误事件:

 private void crystalReportViewer1_Error(object 来源,ExceptionEventArgs e)
 {
     字符串eError ="";
     int StringLen = 0;
     eError = e.Exception.Message.ToString();
     StringLen = eError.Length;
     如果(StringLen> = 61)
     {
         if(eError.Substring(0,61)== @"剩余的文本似乎不属于公式的一部分。")
         {
             MessageBox.Show("可能缺少UFL或公式中的实际错误");
             eError = eError.Substring(0,StringLen-2);
            ////很酷,但是除非您有自己的帮助文件,否则它不会释放模式
             字符串myURL = @" http://search.sap.com/ui/scn#query=" + eError +"☆tindex = 1&filter = scm_a_resourceType(scm_v_resType252)";
             字符串fixedString = myURL.Replace("","%20");

            //System.Diagnostics.Process.Start(@"C:\Program Files(x86)\ Internet Explorer \ iexplore.exe",myURL);
             System.Diagnostics.Process.Start(@" C:\ Program Files(x86)\ Mozilla Firefox \ firefox.exe",fixedString);
             e.Handled = true;
         }
         其他
         {
             MessageBox.Show("触发事件-查看器错误:" + e.ToString());
         }
     }
     其他
     {
         if(eError.ToString()=="系统找不到指定的路径。\ r")
         {
             MessageBox.Show(eError);
             eError = eError.Substring(0,StringLen-2);
            ////很酷,但是除非您有自己的帮助文件,否则它不会释放模式
             字符串myURL = @" http://search.sap.com/ui/scn#query=" + eError +"☆tindex = 1&filter = scm_a_resourceType(scm_v_resType252)";
             字符串fixedString = myURL.Replace("","%20");

            //System.Diagnostics.Process.Start(@"C:\Program Files(x86)\ Internet Explorer \ iexplore.exe",myURL);
            //System.Diagnostics.Process.Start(@"C:\Program Files(x86)\ Mozilla Firefox \ firefox.exe",fixedString);

            /////string myURL = @" C:\ Program Files(x86)\ SAP BusinessObjects \ Crystal Reports 2011 \ Help \ en \ crw.chm";
            ////System.Diagnostics.Process.Start(myURL);
            ////很酷,但没有用到释放模式
         }
         其他
             if(eError.ToString()=="对象引用未设置为对象的实例。")
             {
                 MessageBox.Show(eError);
                 eError = eError.Substring(0,StringLen-2);
             }

        //其他
        //MessageBox.Show("中断此行以获取被捕获的实际错误");

         e.Handled = true;
     }
 } 

您将收到实际错误:

您将得到相同的错误 CR Designer中发生错误。

一周热门 更多>