私は、会社の内部発注Webサイトに置かれた注文のステータスをすばやく確認するC#windowsフォームのツールを作成しています。新しいIEウィンドウを開くときに、Webリクエストによってスローされた書式設定例外を処理しようとしています。Webサービスを実行しているサーバによってスローされた例外の処理
My toolは8桁のユーザー入力を追加し、これをURLに追加してユーザーに特定の注文を取得し、新しいIEウィンドウを表示して表示します。私は、サーバーエラーでIEのウィンドウを取得する8桁の番号以外の情報は、(整数とは対照的に、文字列内のユーザーの種類場合など)、入力された場合
private void scRequestBtn_Click(object sender, EventArgs e)
{
try
{
var scUrl = "http://iwha.mycompany.com/servicesdashboard/InstanceInfoRedirect.aspx?instance_id=";
var scInput = scUrl += scTextBox.Text;
Process.Start("IExplore.exe", scInput);
}
catch (FormatException)
{
MessageBox.Show("Your entry is not valid. Please verify the ID number");
}
}
。次のようにスタックトレースがあります
[FormatException: Input string was not in a correct format.] Microsoft.VisualBasic.CompilerServices.Conversions.ParseDecimal(String Value, NumberFormatInfo NumberFormat) +203 Microsoft.VisualBasic.CompilerServices.Conversions.ToLong(String Value) +73
[InvalidCastException: Conversion from string "gsdfgsdfgsfg" to type 'Long' is not valid.] Microsoft.VisualBasic.CompilerServices.Conversions.ToLong(String Value) +328 ServiceDashboard_41.InstanceInfoRedirect.Page_Load(Object sender, EventArgs e) +86 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +50 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
私が注文サイトをホストしている内部サーバによってスローされた例外はあなたの典型的なものよりも、例外の異なる種類をスローすることを感じます見ることになります。私は "Soap"の例外がこれが呼ばれているかもしれないと読んだのですが、私はこれをどう扱うべきかを本当に理解していません。
私の質問は、あなたのプログラム内にないものによってスローされる例外をどうやって処理するのですか?
ごみが出て、ごみが出ます。ユーザー入力をサニタイズして、入力する内容に合致していることを確認します。 – mason