首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >捕获osql异常

捕获osql异常
EN

Stack Overflow用户
提问于 2015-05-13 15:58:57
回答 1查看 104关注 0票数 0

我尝试使用osql进行登录。我知道在从cmd运行时会抛出异常,但在下面的代码中我没有捕捉到异常。如何捕获异常?

代码语言:javascript
复制
p.StartInfo.FileName = "osql.exe";
p.StartInfo.Arguments = "-S serverName -U userName -P \"psw\" -d db";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
try
{
   p.Start();
   // should not get here
}
catch(Exception ex)
{
   // should get here
}
EN

回答 1

Stack Overflow用户

发布于 2015-05-13 16:10:09

如果在osql.exe上登录失败,System.Diagnostic.Process 'p‘不会引发异常。也许osql.exe的结果会返回一个win32错误代码...不能使用try catch块处理来自应用程序中其他进程的loginexception

编辑:

您可以通过P.ExitCode接收ExitCode。考虑使用WaitForExit()方法等待osql.exe进程退出。

代码语言:javascript
复制
   p.Start();            
   p.WaitForExit(); //Wait for the Application to exit
   if (p.ExitCode <> 0) //If <>0 the operation failed
     { ///Operation failed
     }

在我的机器上,结果总是0或1-我认为你不会得到登录错误的确切错误代码。只是一个失败或成功的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30208943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档