Esempio n. 1
0
        void IActiveScriptSite.OnScriptError(IActiveScriptError scriptError)
        {
            uint   sourceContext;
            int    lineNumber;
            int    characterPosition;
            String message    = "Script error: {1}. Error number {0} (0x{0:X8}): {2} at line {3}, column {4}.";
            String sourceLine = null;

            System.Runtime.InteropServices.ComTypes.EXCEPINFO exceptionInfo;

            try {
                scriptError.GetSourceLineText(out sourceLine);

                if (!String.IsNullOrEmpty(sourceLine))
                {
                    message += " Source line: '{5}'.";
                }
            }
            catch {             // happens most of the time, but we should still try it.
            }

            scriptError.GetSourcePosition(out sourceContext, out lineNumber, out characterPosition);

            lineNumber++;
            characterPosition++;

            scriptError.GetExceptionInfo(out exceptionInfo);

            _lastException = new ScriptException(String.Format(message, exceptionInfo.scode, exceptionInfo.bstrSource, exceptionInfo.bstrDescription, lineNumber, characterPosition, sourceLine))
            {
                Column      = characterPosition,
                Description = exceptionInfo.bstrDescription,
                Line        = lineNumber,
                Number      = exceptionInfo.scode,
                Text        = sourceLine,
                ScriptError = (ScriptErrorType)exceptionInfo.scode
            };
        }
Esempio n. 2
0
        void IActiveScriptSite.OnScriptError(IActiveScriptError scriptError)
        {
            uint sourceContext;
            int lineNumber;
            int characterPosition;
            String message = "Script error: {1}. Error number {0} (0x{0:X8}): {2} at line {3}, column {4}.";
            String sourceLine = null;
            System.Runtime.InteropServices.ComTypes.EXCEPINFO exceptionInfo;

            try {
                scriptError.GetSourceLineText(out sourceLine);

                if (!String.IsNullOrEmpty(sourceLine)) {
                    message += " Source line: '{5}'.";
                }
            }
            catch { // happens most of the time, but we should still try it.
            }

            scriptError.GetSourcePosition(out sourceContext, out lineNumber, out characterPosition);

            lineNumber++;
            characterPosition++;

            scriptError.GetExceptionInfo(out exceptionInfo);

            _lastException = new ScriptException(String.Format(message, exceptionInfo.scode, exceptionInfo.bstrSource, exceptionInfo.bstrDescription, lineNumber, characterPosition, sourceLine)) {
                Column = characterPosition,
                Description = exceptionInfo.bstrDescription,
                Line = lineNumber,
                Number = exceptionInfo.scode,
                Text = sourceLine,
                ScriptError = (ScriptErrorType)exceptionInfo.scode
            };
        }
Esempio n. 3
0
 void IActiveScriptSite.OnEnterScript()
 {
     _lastException = null;
 }
Esempio n. 4
0
 void IActiveScriptSite.OnEnterScript()
 {
     _lastException = null;
 }