Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
 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;
 }
Пример #5
0
 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;
 }
Пример #6
0
 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;
 }