如何捕获.exe无法启动或失败异常MVC

时间:2014-08-20 07:45:08

标签: asp.net-mvc asp.net-mvc-4 exception-handling

我尝试使用下面的代码将图表图像导出到png或pdf。(我使用的是Asp.Net MVC,Telerik Kendo,Inskcape)

每个用户都需要在他们的计算机上安装Inkscape软件才能导出图表。我的意思是,如果用户没有Inkscape,用户就无法获得图像。

所以我想控制用户是否有Inkscape。如果没有安装Inkscape,我想向相关的View显示异常消息,例如“请将Inkscape安装到您的计算机上”

我该怎么办?试试看,抓住?如果别的?我无法理解我应该做的事情。

  private string DoExport(string svgFile, KendoChartExport.Models.ExportFormat format)
        {

            var extension = format == KendoChartExport.Models.ExportFormat.PNG ? "png" : "pdf";
            var outFile = TempFileName() + "." + extension;
            var inkscape = new System.Diagnostics.Process();
            inkscape.StartInfo.FileName = INKSCAPE_PATH;
            inkscape.StartInfo.Arguments =
                String.Format("--file \"{0}\" --export-{1} \"{2}\" --export-width {3} --export-height {4}",
                              svgFile, extension, outFile, WIDTH, HEIGHT);
            inkscape.StartInfo.UseShellExecute = true;
            inkscape.Start();
            inkscape.WaitForExit();

            return outFile;
        }

我想这样:

   try
            {
                 inkscape.Start();
            }
            catch (Exception)
            {

                throw ViewBag.Error = "Please Install Inkscape";
            }

有什么想法可以提供帮助吗?

0 个答案:

没有答案