私はC#コンソールアプリケーションを継承しましたが、私はエラー処理の記述に精通していません。どんな問題なく毎晩実行されているこのアプリの数ヶ月後に、それだけで、最後の3日間、毎日、次のエラーを投げ始めた:私は誰かがこの問題を解決するためのアプリに掘ることができますまでコンソールアプリケーションのSystem.Xmlのエラー処理
Unhandled Exception: System.Xml.XmlException: An error occurred while parsing EntityName. Line 5, position 338.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.HandleEntityReference(Boolean isInAttributeValue, EntityExpandType expandType, Int32& charRefEndPos)
at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
at System.Xml.XmlTextReaderImpl.FinishPartialValue()
at System.Xml.XmlTextReaderImpl.get_Value()
at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
at System.Xml.Linq.XDocument.Load(String uri, LoadOptions options)
at System.Xml.Linq.XDocument.Load(String uri)
at Data.Service.AssignmentService.<HandleMarkupActivityStep>d__10.MoveNext() in C:\Users\default\Source\Workspaces\Data\Data - Transfer\Data.Service\AssignmentService.cs:line 381
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Vital4Data.Service.AssignmentService.<ProcessSingleHtmlSource>d__17.MoveNext() in C:\Users\default\Source\Workspaces\Data\Data - Transfer\Data.Service\AssignmentService.cs:line 948
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_1(Object state)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Status changed to Failed
Job failed due to exit code -532462766
、Iアプリがこのエラーを無視して、今のところ失敗せずに続行する必要があります。これを達成するためにコードにエラー処理を追加するにはどうすればよいですか?これはtry/catchブロックの候補ですか?またはtry/catchブロックを捕捉して最初にこれを投げたか?私は指導に感謝するので、エラーを無視して実行を続けるようプログラムに指示することができます。
try-catchに空のcatch句を追加するだけです。 – ColinM
*私はこのエラーを無視し、失敗せずに続行する必要がある*非常に素朴で無知なアプローチです。なぜXMLがコードの移動を引き起こしているのかを調べます。問題のXmlファイルを開く*処理されない例外:System.Xml.XmlException:EntityNameの解析中にエラーが発生しました。 *エラー処理の欠如は、災害のためのレシピであり、 'catch'ブロックに' XmlException'を使用して、非常に悪いコードの匂いであるジェネリックな 'Exception'を使用する代わりに何があるかを判断します。 – t0mm13b
@ t0mm13b私は完全に理解していますが、あなたが言及したことを正確に行うことができる専任の専任のリソースがあるまで、これは非常に一時的なバンドエイドです(文字通り5日以内)。 – Stpete111