0

メイン メソッドを try-catch にラップすることで表示される可能性のある例外メッセージをユーザーが返送できるようにする必要がありますが、これにより、Visual Studio の例外ウィンドウではなく、そのカスタム メッセージを表示することも強制されます。

そのため、VS の場合はラップされていないメソッドを実行し、そうでない場合はラップされたメソッドを実行するために、なんらかの前処理ディレクティブを使用する必要があります。

4

3 に答える 3

2
main(){
try {
// your app code here
} 
catch (Exception ex){
if(System.Diagnostics.Debugger.IsAttached)
{
    throw;
  } else {
  // your exception handling here.
  }
}
于 2012-10-10T22:19:45.177 に答える
0

Tetsujin no Oniが提案したように、System.Diagnostics.Debugger.IsAttached このブール属性がtrueを返す場合は、Visual Studio IDE(または他のデバッガー!)がプロセスにアタッチされます。この場合、VisualStudioで実行していると想定します。

于 2012-10-10T22:17:42.130 に答える
0

前処理ディレクティブを使用する必要はありません —ifステートメントでアタッチされたデバッガーをチェックすることで実行できます。

static void Main(string[] args)
{
    if (System.Diagnostics.Debugger.IsAttached)
    {
        /* application code */
    }
    else
        try
        {
            /* application code */
        }
        catch (Exception ex)
        {                
            // custom exception handling
        }
}
于 2012-10-11T12:17:27.613 に答える