From 28d9289116436555a41f6b2280b6fa4d3bf3b2a5 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Sun, 14 Oct 2012 11:10:53 +0100 Subject: [PATCH] Fix unhandled exception if code coverage results file does not exist. Show error message in code coverage pad's text editor if the code coverage file does not exist. --- .../Project/Src/CodeCoverageControl.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageControl.cs b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageControl.cs index ffecfce32e..5ed85b70ac 100644 --- a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageControl.cs +++ b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageControl.cs @@ -318,7 +318,9 @@ namespace ICSharpCode.CodeCoverage void OpenFile(string fileName, int line, int column) { if (fileName != textEditorFileName) { - textEditor.Load(fileName); + if (!TryLoadFileIntoTextEditor(fileName)) { + return; + } textEditor.SyntaxHighlighting = GetSyntaxHighlighting(fileName); } textEditor.ScrollToEnd(); @@ -327,6 +329,17 @@ namespace ICSharpCode.CodeCoverage CodeCoverageService.ShowCodeCoverage(new AvalonEditTextEditorAdapter(textEditor), fileName); } + bool TryLoadFileIntoTextEditor(string fileName) + { + if (!File.Exists(fileName)) { + textEditor.Text = String.Format("File does not exist '{0}'.", fileName); + return false; + } + + textEditor.Load(fileName); + return true; + } + IHighlightingDefinition GetSyntaxHighlighting(string fileName) { return HighlightingManager.Instance.GetDefinitionByExtension(Path.GetExtension(fileName));