2011-11-06 15 views
0

私は自分のアプリケーションを起動すると、私はこのエラーが出る:それが起こる場所サーバーオブジェクトはヌルですか?

System.NullReferenceException was unhandled by user code 
Message=Objektreferensen har inte angetts till en instans av ett objekt. 
Source=App_global.asax.avoeinwy 
StackTrace: 
vid ASP.global_asax.BuildMessage() i E:\WEBB\Adilimo\Papp\Web\papplimited_com\global.asax:rad 400 
vid ASP.global_asax.Application_Error(Object sender, EventArgs e) i E:\WEBB\Adilimo\Papp\Web\papplimited_com\global.asax:rad 46 
vid System.EventHandler.Invoke(Object sender, EventArgs e) 
vid System.Web.HttpApplication.RaiseOnError() 
InnerException: 

これは、次のとおりです。ここで

 Dim strMessage As New StringBuilder 
....... (lots of "strMessage.Append()") 
     strMessage.Append("<tr>") 
     strMessage.Append("<td width=""100"" align=""right"" bgcolor=""#EEEEEE"" class=""header1"" nowrap valign=""top"">Details</td>") 
strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix"">" & Server.GetLastError.InnerException.ToString() & "</td>") 
     strMessage.Append("</tr>") 

は、スタックトレースです:

vid ASP.global_asax.BuildMessage() i E:\WEBB\Adilimo\Papp\Web\papplimited_com\global.asax:rad 400 
    vid ASP.global_asax.Application_Error(Object sender, EventArgs e) i E:\WEBB\Adilimo\Papp\Web\papplimited_com\global.asax:rad 46 
    vid System.EventHandler.Invoke(Object sender, EventArgs e) 
    vid System.Web.HttpApplication.RaiseOnError() 

何か提案がありますか?私は本当にサーバオブジェクトがnullであると思われるときに何をすべきかを知っていません。 :(ここ

は、私は、サーバーオブジェクトは明らかにnullでない行にNullReferenceを取得していますことを示す画像である!最終エラーののInnerExceptionにアクセスする前に、ヌルのため

enter image description here

+0

なぜ起動時の最後のエラーを確認していますか? –

+1

BuildMessage()メソッドの開始時にブレークポイントでデバッグしようとしましたが、どのオブジェクトがヌルですか? – Damith

+0

@MitchWheat Im、このコードは私に与えられました。私はその理由を知らない。 – Lautaro

答えて

1

ベターチェック。

strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix"">" & Server.GetLastError== null? String.Empty: Server.GetLastError.InnerException.ToString() & "</td>") 

BuildMessage()メソッドに対して例外処理を実行していない可能性があります。try try catchブロックを実行し、何が起こったのか不思議を知らずに正確な理由を見つけるのを助ける例外を記録します。

If server.GetLastError IsNot Nothing AndAlso Server.GetLastError.InnerException IsNot Nothing Then 
    errormsg = Server.GetLastError.InnerException.ToString() 
End If 
+0

まだそれを行うには良い方法ではありませんが、これはOPの問題を解決する+1 – Basic

+0

だから私はデバッグするときに私はより多くの情報を取得するログをする必要がありますか? – Lautaro

+0

ロギングはデバッグ時間だけではありません。生産上にあるかもしれないので、我々は正確に何が問題かを確認する必要がある。エラー情報がなければ、正確な問題を見つけることは困難です。ログエラー、解決策を見つけるのに役立つ情報ここで例外を捕捉する 'error.ToString()'をログできます。 – Damith

関連する問題