public void MappingEngineLoadErrorDuringOutOfMemoryIsCorrect() { // Arrange IJsEngine jsEngine = null; JsEngineLoadException exception = null; // Act try { jsEngine = new ChakraCoreJsEngine( new ChakraCoreSettings { MemoryLimit = new UIntPtr(8 * 1024) } ); } catch (JsEngineLoadException e) { exception = e; } finally { jsEngine?.Dispose(); } // Assert Assert.NotNull(exception); Assert.Equal("Engine load error", exception.Category); Assert.Equal("Out of memory.", exception.Description); }
/// <summary> /// Generates a detailed error message /// </summary> /// <param name="jsEngineLoadException">JavaScript engine load exception</param> /// <returns>Detailed error message</returns> public static string Format(JsEngineLoadException jsEngineLoadException) { var errorMessage = new StringBuilder(); errorMessage.AppendFormatLine("{0}: {1}", CommonStrings.ErrorDetails_Message, jsEngineLoadException.Message); if (!string.IsNullOrWhiteSpace(jsEngineLoadException.EngineMode)) { errorMessage.AppendFormatLine("{0}: {1}", CommonStrings.ErrorDetails_EngineMode, jsEngineLoadException.EngineMode); } return errorMessage.ToString(); }
public static JsEngineLoadException WrapEngineLoadException(Exception exception, string engineName, string engineVersion, bool quoteDescription = false) { string description = exception.Message; string message = GenerateEngineLoadErrorMessage(description, engineName, quoteDescription); var jsEngineLoadException = new JsEngineLoadException(message, engineName, engineVersion, exception) { Description = description }; return(jsEngineLoadException); }
/// <summary> /// Generates a detailed error message /// </summary> /// <param name="jsEngineLoadException">JavaScript engine load exception</param> /// <returns>Detailed error message</returns> public static string Format(JsEngineLoadException jsEngineLoadException) { var errorMessage = new StringBuilder(); errorMessage.AppendFormatLine("{0}: {1}", CommonStrings.ErrorDetails_Message, jsEngineLoadException.Message); if (!string.IsNullOrWhiteSpace(jsEngineLoadException.EngineMode)) { errorMessage.AppendFormatLine("{0}: {1}", CommonStrings.ErrorDetails_EngineMode, jsEngineLoadException.EngineMode); } return(errorMessage.ToString()); }