internal ProgramError GetFormattedError(Exception e, bool isTriggerBlock) { var error = new ProgramError { CodeBlock = isTriggerBlock ? CodeBlockEnum.TC : CodeBlockEnum.CR, Column = 0, Line = 0, ErrorNumber = "-1", ErrorMessage = e.Message }; // TODO: can it be null at this point??? if (programEngine != null) { error = programEngine.GetFormattedError(e, isTriggerBlock); } return(error); }
internal ProgramError GetFormattedError(Exception e, bool isTriggerBlock) { ProgramError error = new ProgramError() { CodeBlock = isTriggerBlock ? "TC" : "CR", Column = 0, Line = 0, ErrorNumber = "-1", ErrorMessage = e.Message }; // TODO: can it be null at this point??? if (csScriptEngine != null) { error = csScriptEngine.GetFormattedError(e, isTriggerBlock); } return(error); }
internal ProgramError GetFormattedError(Exception e, bool isTriggerBlock) { ProgramError error = new ProgramError() { CodeBlock = isTriggerBlock ? "TC" : "CR", Column = 0, Line = 0, ErrorNumber = "-1", ErrorMessage = e.Message }; switch (codeType.ToLower()) { case "csharp": var st = new StackTrace(e, true); error.Line = st.GetFrame(0).GetFileLineNumber(); if (isTriggerBlock) { int sourceLines = this.ScriptSource.Split('\n').Length; error.Line -= (CSharpAppFactory.CONDITION_CODE_OFFSET + CSharpAppFactory.PROGRAM_CODE_OFFSET + sourceLines); } else { error.Line -= CSharpAppFactory.PROGRAM_CODE_OFFSET; } break; case "python": case "ruby": string[] message = ((ScriptEngine)scriptEngine).GetService <ExceptionOperations>().FormatException(e).Split(','); if (message.Length > 2) { int line = 0; int.TryParse(message[1].Substring(5), out line); error.Line = line; } break; case "javascript": break; } return(error); }
internal ProgramError GetFormattedError(Exception e, bool isTriggerBlock) { ProgramError error = new ProgramError() { CodeBlock = isTriggerBlock ? "TC" : "CR", Column = 0, Line = 0, ErrorNumber = "-1", ErrorMessage = e.Message }; // TODO: can it be null at this point??? if (csScriptEngine != null) error = csScriptEngine.GetFormattedError(e, isTriggerBlock); return error; }
public ProgramError GetFormattedError(Exception e, bool isTriggerBlock) { ProgramError error = new ProgramError() { CodeBlock = isTriggerBlock ? "TC" : "CR", Column = 0, Line = 0, ErrorNumber = "-1", ErrorMessage = e.Message }; var st = new StackTrace(e, true); error.Line = st.GetFrame(0).GetFileLineNumber(); if (isTriggerBlock) { int sourceLines = programBlock.ScriptSource.Split('\n').Length; error.Line -= (CSharpAppFactory.CONDITION_CODE_OFFSET + CSharpAppFactory.PROGRAM_CODE_OFFSET + sourceLines); } else { error.Line -= CSharpAppFactory.PROGRAM_CODE_OFFSET; } return error; }
internal ProgramError GetFormattedError(Exception e, bool isTriggerBlock) { ProgramError error = new ProgramError() { CodeBlock = isTriggerBlock ? "TC" : "CR", Column = 0, Line = 0, ErrorNumber = "-1", ErrorMessage = e.Message }; switch (codeType.ToLower()) { case "csharp": var st = new StackTrace(e, true); error.Line = st.GetFrame(0).GetFileLineNumber(); if (isTriggerBlock) { int sourceLines = this.ScriptSource.Split('\n').Length; error.Line -= (CSharpAppFactory.CONDITION_CODE_OFFSET + CSharpAppFactory.PROGRAM_CODE_OFFSET + sourceLines); } else { error.Line -= CSharpAppFactory.PROGRAM_CODE_OFFSET; } break; case "python": case "ruby": string[] message = ((ScriptEngine)scriptEngine).GetService<ExceptionOperations>().FormatException(e).Split(','); if (message.Length > 2) { int line = 0; int.TryParse(message[1].Substring(5), out line); error.Line = line; } break; case "javascript": break; } return error; }