我最近向这个问题提出了几个相关的问题,但这一次我希望尽可能地了解我在开发过程中所关心的问题。
我们正在尝试通过移动打印机打印票证,需要确定打印机是否在线,离线或是否有错误,以便我们更好地处理它:
在我打印时,我的代码片段再次出现,但如果出现任何问题,似乎无法将其捕获:
Process process = new Process();
//process.StartInfo.CreateNoWindow = true;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.StartInfo.FileName = defFile;
if (rwPrinter.Length > 0)
{
process.StartInfo.Verb = "printto";
//process.StartInfo.Verb = (Path.Combine(System.Windows.Forms.Application.StartupPath, "printto.exe"));
process.StartInfo.Arguments = "\"" + rwPrinter + "\"";
}
else
{
process.StartInfo.Verb = "print";
}
try
{
process.Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
请原谅我对此的匆匆忙忙,因为我有一个对我不耐烦的老板让我按照自己的意愿工作,请告诉我如何让这个陷入错误陷阱,谢谢。
答案 0 :(得分:0)
对于事后处理问题后,您可以等待退出,然后检查ExitCode。如果处理打印的进程非常好以报告有意义的代码,那么您可以显示更有意义的消息,但这取决于被调用的进程。
try
{
process.Start();
process.WaitForExit();
if (process.ExitCode >0)
{
MessageBox.Show(String.Fromat("print failed, exit code :{0} ", process.ExitCode ));
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}