private void AddExtensionSafe(string folderpath) { if (!ExtensionInfo.ExtensionExists(folderpath)) { return; } try { this.Extensions.Add(ExtensionInfo.ReadExtensionInfo(folderpath)); } catch (Exception ex) { Console.WriteLine(Utils.GenerateReportFromException(ex)); ExtensionsMenuScreen extensionsMenuScreen = this; string str = extensionsMenuScreen.LoadErrors + LocaleTerms.Loc("Error loading ExtensionInfo for") + " " + folderpath + "\n" + LocaleTerms.Loc("Error details written to") + " " + folderpath.Replace("\\", "/") + "/error_report.txt\n\n"; extensionsMenuScreen.LoadErrors = str; Utils.writeToFile("Error loading ExtensionInfo for extension in folder:\n" + folderpath + "\nError details: \n" + Utils.GenerateReportFromException(ex), folderpath + "/error_report.txt"); } }