/// <summary> /// Specifies how the debug engine (DE) should handle a given exception. /// </summary> public int SetException(EXCEPTION_INFO[] pException) { DLog.Debug(DContext.VSDebuggerComCall, "IDebugEngine2.SetException"); var copyToProgram = false; foreach (var info in pException) { if (info.guidType == GuidList.Guids.guidDot42DebuggerId) { if (info.bstrExceptionName == ExceptionConstants.TopLevelName) { exceptionBehaviorMap.DefaultStopOnThrow = info.dwState.HasFlag(enum_EXCEPTION_STATE.EXCEPTION_STOP_FIRST_CHANCE); exceptionBehaviorMap.DefaultStopUncaught = info.dwState.HasFlag(enum_EXCEPTION_STATE.EXCEPTION_STOP_USER_UNCAUGHT); copyToProgram = true; } else { var behavior = new ExceptionBehavior( info.bstrExceptionName, info.dwState.HasFlag(enum_EXCEPTION_STATE.EXCEPTION_STOP_FIRST_CHANCE), info.dwState.HasFlag(enum_EXCEPTION_STATE.EXCEPTION_STOP_USER_UNCAUGHT)); exceptionBehaviorMap[info.bstrExceptionName] = behavior; copyToProgram = true; } } } if (copyToProgram) { CopyExceptionMapToProgram(); } return(VSConstants.S_OK); }
public AssemblyCSharpBuilder(string name) : base(name) { CompileErrorBehavior = ExceptionBehavior.Throw; SyntaxErrorBehavior = ExceptionBehavior.Throw; OutputFolder = GlobalOutputFolder; CustomUsingShut = false; RetryLimit = 2; }
public NatashaCSharpCompiler() { AssemblyOutputKind = AssemblyBuildKind.Stream; ErrorBehavior = ExceptionBehavior.Throw; }
public NatashaCSharpSyntax() { ErrorBehavior = ExceptionBehavior.Throw; UsingCache = new ConcurrentDictionary <string, HashSet <string> >(); }