hhu-mahmoud / ExceptionalReSharper

Extension for ReSharper which analyzes thrown and documented C# exceptions and suggests improvements
Microsoft Public License
5 stars 2 forks source link

Fix unhandled exceptions #8

Closed ulex closed 2 years ago

ulex commented 2 years ago

Hi, I'm from JetBrains

Thanks for maintaining this fork!

We receive exception reports from customers who use this plugin.

First one

StackTraceString = “
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
at ReSharper.Exceptional.Models.ConstructorDeclarationModel..ctor(IConstructorDeclaration constructorDeclaration) in E:\Developments\.Net\C#\Repo\C#\ExceptionalReSharper\src\Exceptional\Models\ConstructorDeclarationModel.cs:line 30
at ReSharper.Exceptional.ExceptionalRecursiveElementProcessor.ProcessBeforeInterior(ITreeNode element) in E:\Developments\.Net\C#\Repo\C#\ExceptionalReSharper\src\Exceptional\ExceptionalRecursiveElementProcessor.cs:line 103
at JetBrains.ReSharper.Psi.RecursiveElementProcessorExtensions.ProcessDescendants(ITreeNode root, IRecursiveElementProcessor processor)
at ReSharper.Exceptional.ExceptionalDaemonStageProcess.Execute(Action`1 commiter) in E:\Developments\.Net\C#\Repo\C#\ExceptionalReSharper\src\Exceptional\ExceptionalDaemonStageProcess.cs:line 53
at JetBrains.ReSharper.Feature.Services.Daemon.DaemonProcessBase.RunStage(IDaemonStage stage, DaemonProcessKind processKind, Action`2 commiter, IContextBoundSettingsStore contextBoundSettingsStore, JetHashSet`1 disabledStages)

Second Object reference not set to an instance of an object.

at ReSharper.Exceptional.Models.ExceptionsOrigins.ThrowStatementModel.GetExceptionType() in E:\Developments\.Net\C#\Repo\C#\ExceptionalReSharper\src\Exceptional\Models\ExceptionsOrigins\ThrowStatementModel.cs:line 154
at ReSharper.Exceptional.Models.ExceptionsOrigins.ThrowStatementModel..ctor(IAnalyzeUnit analyzeUnit, IThrowStatement throwStatement, IBlockModel containingBlock) in E:\Developments\.Net\C#\Repo\C#\ExceptionalReSharper\src\Exceptional\Models\ExceptionsOrigins\ThrowStatementModel.cs:line 33
at ReSharper.Exceptional.Contexts.ProcessContext`1.Process(IThrowStatement throwStatement) in E:\Developments\.Net\C#\Repo\C#\ExceptionalReSharper\src\Exceptional\Contexts\ProcessContext.cs:line 108
at ReSharper.Exceptional.ExceptionalRecursiveElementProcessor.ProcessBeforeInterior(ITreeNode element) in E:\Developments\.Net\C#\Repo\C#\ExceptionalReSharper\src\Exceptional\ExceptionalRecursiveElementProcessor.cs:line 79
at JetBrains.ReSharper.Psi.RecursiveElementProcessorExtensions.ProcessDescendants(ITreeNode root, IRecursiveElementProcessor processor)
at ReSharper.Exceptional.ExceptionalDaemonStageProcess.Execute(Action`1 commiter) in E:\Developments\.Net\C#\Repo\C#\ExceptionalReSharper\src\Exceptional\ExceptionalDaemonStageProcess.cs:line 53
at JetBrains.ReSharper.Feature.Services.Daemon.DaemonProcessBase.RunStage(IDaemonStage stage, DaemonProcessKind processKind, Action`2 commiter, IContextBoundSettingsStore contextBoundSettingsStore, JetHashSet`1 disabledStages)

Proposed PR should fix both.

hhu-mahmoud commented 2 years ago

@ulex Thanks for your efforts. I will merge it und deploy the plugin as soon as possible.