問題タブ [nullreferenceexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - コンストラクターの直後に、このNullReferenceExceptionエラーをどのように取得しましたか?
イントラネット上でasp.netWebサイトを数週間ライブで実行しています。未処理の例外を除いて、application_erroremailerメソッドからメールを受け取りました。
これが(表示を改善するためにいくつかのパスをクリーンアップしました)です。
例外:オブジェクト参照がオブジェクトのインスタンスに設定されていません。スタックトレース:System.Collections.Generic.Dictionary`2.Insert(TKey key、TValue value、Boolean add)at System.Collections.Generic.Dictionary`2.Add(TKey key、TValue value)at TimesheetDomain.DataMappers.StaffMemberData TimesheetDomain \ DataMappers \ StaffMemberData.cs:line 362の.ReadStaff(SqlDataReaderリーダー)
TimesheetDomain \ DataMappers \ StaffMemberData.cs:line 401のTimesheetDomain.DataMappers.StaffMemberData.GetStaffMember(String name)で
TimesheetDomain \ ServiceLayer \ TimesheetManager.cs:line199のTimesheetDomain.ServiceLayer.TimesheetManager.GetUserFromName(String name)で
\ App_Code \ UserVerification.cs:line 29のUserVerification.GetCurrentUser()で\ WebTimesheets \ WebTimesheets.master.cs:line159のWebTimesheets.OnInit(EventArgs e)で
System.Web.UI.Control.InitRecursive(ControlnamingContainer)でSystem.Web.UI.Control.InitRecursive(ControlnamingContainer)でSystem.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint、Boolean includeStagesAfterAsyncPoint)
基本的に、データリーダーを読み取ってスタッフメンバーオブジェクトを構築するReadStaffメソッドでエラーが発生しているように見えます。コードは次のとおりです。
(362行目は最後の3行目です)私はアイデンティティマップを使用しています(パターンに関するファウラーの本を読んで、それは良い考えだと思いました-間違っていたかもしれません、コメントを喜んでいます)が、後で使用するので、それはあまり関連性がありません他の場所にあるnewMember
オブジェクトなので、そのブロックを削除するNullReferenceException
と発生します。
newMember
そこにある最後の3行目(エラーが発生した行)で、いったいどのようにnullであるかを確認するのに苦労しています。
Resharper / VSは、その可能性があるという警告を表示しませんnull
。これは、私が選択した3つのコンストラクターがあるためです。
このエラーを修正するためにどこを探すことができるかを誰かが提案できますか?これは1回だけ発生し、サイトが公開されてからそのメソッドは何千回も呼び出されています。
ありがとう
[編集]ご要望に応じて、こちらがスタッフ向けのIComparerです
IComparableの実装で使用されます
nhibernate - ドメインオブジェクトのリストを返すNhibernateNullReferenceException
以下は私が使用しているコードです。私にはかなり単純なようです。しかし、最後の行であるreturnステートメントでNullReferenceExceptionが発生します。スタックトレースは次のとおりです。
FailedSystem.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。NHibernate.Criterion.Junction.ToSqlString(ICriteria基準、ICriteriaQuery基準クエリ、IDictionary 2
2 enabledFilters) at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetWhereCondition(IDictionary
enabledFilters)でNHibernate.Loader.Criteria.CriteriaJoinWalker..ctor(IOuterJoinLoadableパーシスター、CriteriaQueryTranslatorトランスレーター、ISessionFactoryImplementorファクトリー、CriteriaImpl基準、文字列rootEntity2 enabledFilters) at NHibernate.Loader.Criteria.CriteriaLoader..ctor(IOuterJoinLoadable persister, ISessionFactoryImplementor factory, CriteriaImpl rootCriteria, String rootEntityName, IDictionary
NHibernate.Impl.SessionImpl.List(CriteriaImpl基準、IList結果)でNHibernate.Impl.CriteriaImpl.List(IList結果)でNHibernate.Impl.CriteriaImpl.List()で
c# - Visual Studio の null 参照の警告 - エラーがないのはなぜですか?
Visual Studio について奇妙なことに気付きました。まず、関数のどこかにこれ (C#) を入力してみてください。
これで、すぐにinがエラーとしてマークs
され、" " と表示されます。一方、次のコードを試してください。s.Length
Use of unassigned local variable 's'
コンパイルされ、" " という警告でs
inに下線が引かれます。private string s
Field 'Foo.s' is never assigned to, and will always have its default value null
さて、もし VS が賢くて s が常に null になることを知っているなら、なぜ 2 番目の例でその長さを取得してもエラーにならないのでしょうか? 私の当初の推測では、「コンパイラが単にその仕事を完了できない場合にのみコンパイル エラーが発生します。コードは技術的には、Bar() を呼び出さない限り実行されるため、警告にすぎません」というものでした。その説明が最初の例によって無効になることを除いて。Bar() を呼び出さない限り、エラーなしでコードを実行できます。それで、何が得られますか?単なる見落としですか、それとも何か不足していますか?
.net - ListBox.Items プロパティから null 参照エラーを取得することは可能ですか?
EDIT 11-20-2009 : この質問はかなり前に投稿されましたが、今朝、問題が再び発生しました。ですから、他の誰かが何らかの洞察を提供してくれることを願っています(ただし、提供された回答はすでに役に立ちました)。
実稼働環境でブルームーンに入ると、コントロールのプロパティをNullReferenceException
参照することから取得します。以下にいくつかのサンプルコードを含めました。Items
ListBox
問題の の親フォームは、というListBox
プライベートを保持しています。このキューは、イベントに関する新しいメッセージを受け取ります。500 ミリ秒ごとにオフになるタイマーでは、次のメソッドが実行されます。Queue<string>
QueuedMessages
繰り返しますが、私が述べたように、これはめったにスローしNullReferenceException
ません。アプリケーションを使用して数か月で、それは 3 ~ 4 回発生しました。
さらに、これが数回発生した場合、ListBox.Items
プロパティまたはListBox
それ自体のいずれかが不思議なことに消えてしまったようです。項目を追加する後続のすべてのメソッドはListBox
例外をスローします。回復する唯一の方法は、アプリケーションを閉じて元に戻すことです。
残念ながら、他に何百万ものやるべきことに常に気を取られていたので、挿入の前にログを追加することはできませんでした。現在、ログを追加しましたが、この問題が再び発生するまでには 1 か月以上かかる可能性があります。それまでの間、他にアイデアはありますか?これについて考えられる説明は何ですか?
私の本当の質問は次のとおりだと思います:他の誰かがこれが起こるのを見たことがありますか?存在しListBox
ていたにアクセスして突然 を取得しましたNullReferenceException
?そして、問題を解決する理由/方法を理解できましたか?
c# - コンテキスト書き換えパスの使用時にオブジェクト参照を取得する
コードビハインドにこれがあると、このエラーが発生します: if(Page.User.Identity.IsAuthenticated)
context.RewritePath メソッドを使用すると、このエラーが表示されます http://localhost/page.apx?id=22 --> http://localhost/hello-world/
Page.User.Identity.IsAuthenticated は、page.aspx?id=22 に移動すると True を返しますが、
/hello-world/ url にアクセスするとエラーが発生します。
asp.net - IISで公開されたWebサイトを実行しているときのNullReferenceException
IISに追加する前に公開したWebサイトがあります。その後、公開されたWebサイトをIISのデフォルトのWebサイトとして設定しました。
フォームから値を挿入すると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが発生しました。Webサイトが公開せずにIISで実行されている場合、問題はありません。datagridを使用して値を挿入すると、エラーが発生します。
エラーメッセージは次のとおりです。
'/'アプリケーションのサーバーエラー。
オブジェクト参照がオブジェクト インスタンスに設定されていません。
説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。
例外の詳細:System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。
ソースエラー:
現在のWebリクエストの実行中に、未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。
スタックトレース:
[NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。]
Admin_MasterEntries.gvwMileStoneM_RowCommand(Object sender、GridViewCommandEventArgs e)+447 System.Web.UI.WebControls.GridView.OnRowCommand(GridViewCommandEventArgs e)+105System.Web.UI
。 WebControls.GridView.HandleEvent(EventArgs e、ブール原因検証、文字列validationGroup)+76
System.Web.UI.WebControls.GridView.OnBubbleEvent(Object source、EventArgs e)+95
System.Web.UI.Control.RaiseBubbleEvent(Object source、 EventArgs args)+35
System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(Object source、EventArgs e)+117
System.Web.UI.Control.RaiseBubbleEvent(Object source、EventArgs args)+35
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e)
+115 System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument)+163System.Web.UI.WebControls.LinkButton.System.Web.UI
。 IPostBackEventHandler.RaisePostBackEvent(String eventArgument)+7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl、String eventArgument)+11 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)+174System.Web.UI.Page
。 ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint、Boolean includeStagesAfterAsyncPoint)+5102
誰かが知っているなら私を助けてください。ありがとうございました。
c# - 展開されたasp.netアプリケーションのアセンブリは、私のPCの絶対パスを参照しています
なぜこれが起こっているのかわかりません:
c# - 文字列プロパティの GetType が NullReferenceException になるのはなぜですか?
int プロパティまたは DateTime プロパティで GetType を呼び出すと、期待どおりの結果が得られますが、文字列プロパティでは NullReferenceException (?) が返されます。
誰か説明できますか?string-prop と int-prop の違いは何ですか?
c# - Linq で InsertOnSubmit を Sql に呼び出すときの NullReferenceException
LINQ to SQL を使用してデータベースに新しいオブジェクトを挿入しようとしていますが、以下のコード スニペットで InsertOnSubmit() を呼び出すと NullReferenceException が発生します。FileUploadAudit という派生クラスを渡しています。オブジェクトのすべてのプロパティが設定されています。
スタック トレースは次のとおりです。
次のように Audit クラスに追加しました。
派生した FileUploadAudit は次のようになります。
問題は何ですか?私が見つけることができる最も近い質問はhere ですが、私の部分的な Audit クラスは、生成されたコードでパラメーターなしのコンストラクターを呼び出していますが、それでも問題が発生します。
アップデート:
この問題は、派生した FileUploadAudit クラスを渡した場合にのみ発生し、Audit クラスは正常に動作します。Audit クラスは linq to sql クラスとして生成され、派生クラスのデータベース フィールドにマップされたプロパティはありません。