2009-04-19 19 views
0

静的例外インスタンスは安全に使用できますか?次のことを避けるためにはどんな理由がありますか?静的例外インスタンス

public class ResourceHttpHandler : IHttpHandler 
{ 
    private static HttpException notFoundException = 
       new HttpException(
        (int)HttpStatusCode.NotFound, 
        "Assembly Not Found"); 

    public bool IsReusable 
    { 
     get { return true; } 
    } 

    public void ProcessRequest(HttpContext context) 
    { 
     .... 
     throw notFoundException; 
     .... 
    } 
} 

答えて

8

例外のスタックトレースは、それが(http://msdn.microsoft.com/en-us/library/system.exception.stacktrace.aspx)スローされたときに設定されているので、このコードはスレッドセーフではありません。

複数のスレッドで同じ例外オブジェクトが使用され、例外の内容に頼っている人は混乱する結果になります。

+0

私は確かに何か間違っていた、私はちょうど何かを見つけることができませんでした:) – Diadistis

関連する問題