public int StartApplication(string appId, string[] parameters) { ExtensionNode node = AddinManager.GetExtensionNode("/MonoDevelop/Core/Applications/" + appId); if (node == null) { throw new InstallException("Application not found: " + appId); } ApplicationExtensionNode apnode = node as ApplicationExtensionNode; if (apnode == null) { throw new Exception("Invalid node type"); } IApplication app = (IApplication)apnode.CreateInstance(); try { return(app.Run(parameters)); } catch (Exception ex) { Console.WriteLine(ex.Message); LoggingService.LogFatalError(ex.ToString()); return(-1); } }
public void TestCrashLogging() { Tuple <Exception, bool, string> message; LoggingService.LogInternalError(null); message = reporter.Messages [reporter.Messages.Count - 1]; Assert.AreSame(null, message.Item1); Assert.AreEqual(false, message.Item2); Assert.AreEqual("internal", message.Item3); Assert.AreEqual(1, reporter.Messages.Count); LoggingService.LogFatalError(string.Empty, (Exception)null); message = reporter.Messages [reporter.Messages.Count - 1]; Assert.AreSame(null, message.Item1); Assert.AreEqual(true, message.Item2); Assert.AreEqual("fatal", message.Item3); Assert.AreEqual(2, reporter.Messages.Count); }