0

.netを使用してパテで発生した例外をキャッチするにはどうすればよいですか

私がやっていることは、.netコードを使用していくつかのシェルスクリプトファイルをパテに送信することです。スクリプトファイルで発生したエラーをキャッチし、.netコードを使用して処理したいと考えています。これをどのように行うことができるかについての考え

`try
        {
            StringBuilder outputBuilder = new StringBuilder();
            //outputBuilder = null;
            string CommandSetFileName = "D://POC.txt";
            Process objProcess = new Process();
            //objProcess.StartInfo.FileName = "putty.exe";
            //objProcess.StartInfo.Arguments = txtUserName.Text.Trim() + "@" + txtIP.Text.Trim() + " -pw " + txtPassword.Text.Trim() + " -m " + CommandSetFileName;

            ProcessStartInfo objInfo = new ProcessStartInfo();
            objInfo.FileName = "putty.exe";
            objInfo.Arguments = txtUserName.Text.Trim() + "@" + txtIP.Text.Trim() + " -pw " + txtPassword.Text.Trim() + " -m " + CommandSetFileName;
            objInfo.UseShellExecute = false;
            objInfo.RedirectStandardError = true;
            objInfo.RedirectStandardOutput = true;
            objInfo.RedirectStandardInput = true;
            objProcess.StartInfo = objInfo;

            objProcess.EnableRaisingEvents = true;
            // attach the event handler for OutputDataReceived before starting the process 
            objProcess.OutputDataReceived += new DataReceivedEventHandler(delegate(object sender, DataReceivedEventArgs e)
                {         // append the new data to the data already read-in         
                    outputBuilder.Append(e.Data);
                }
                    );

            objProcess.Start();

            objProcess.BeginOutputReadLine(); 
            objProcess.WaitForExit(); 
            objProcess.CancelOutputRead();  // use the output 
            string output = outputBuilder.ToString(); 



            //string output = objProcess.StandardOutput.ReadLine();
            objProcess.WaitForExit();

            string error = objProcess.StandardError.ReadLine();

            objProcess.WaitForExit();
        }
        catch (Exception e)
        {
            MessageBox.Show("Unable to connect UNIX", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            return;
        }`

これは私が使用しているコードです

4

1 に答える 1

0

送信/コピー時に発生する可能性のあるエラーをキャッチしたい場合は、次のことを試すことができます: (私はパテにあまり慣れていません)

try
{
  //Send scripts
}
catch(Exception ex)
{
  //Handle error
}
finally
{
  //Cleanup resources if necessary
}

注: ではなく、特定の例外タイプをキャッチすることをお勧めしますException。上記のコードは単なる例です。

スクリプトの実行中に発生するエラーを処理したい場合、上記のコードは役に立たないかもしれません。

さらに情報を提供していただけますか?

于 2012-08-01T13:35:24.277 に答える