【问题标题】:Unity Invalid Operation Exception: System.Collects.Stack.Peek() - Operation invalid due to current state?Unity 无效操作异常:System.Collects.Stack.Peek() - 由于当前状态,操作无效?
【发布时间】:2017-02-25 06:42:10
【问题描述】:

所以,我去统一运行构建,我得到了这个!

InvalidOperationException:操作无效,由于当前 System.Collections.Stack.Peek() 对象的状态(在 /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections/Stack.cs:321) UnityEngine.GUILayoutUtility.EndLayoutGroup() (在 C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayoutUtility.cs:280) UnityEngine.GUILayout.EndScrollView (Boolean handleScrollWheel) (在 C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:427) unityEditor.EditorGUILayout.EndScrollView()(在 C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:7090) unityEditor.ListViewShared+ListViewElementsEnumerator.MoveNext() (在 C:/buildslave/unity/build/Editor/Mono/GUI/ListViewShared.cs:654) UnityEditor.ConsoleWindow.OnGUI() (在 C:/buildslave/unity/build/Editor/Mono/ConsoleWindow.cs:409) System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[]

我以前从未见过这样的异常,所以我想我会问一下,然后调查一下。

【问题讨论】:

  • 您是否在另一个线程处于 foreach 循环中时试图偷看?
  • 我希望将其归结为异常,因为在开始一个场景时,unity 对建筑不感冒。 @古斯曼

标签: c# .net mono


【解决方案1】:

不要在空的Stack<T> 上调用PeekPop

Stack<GameObject> stack = new Stack<GameObject> ();
if (stack.Count > 0) {
    var top = stack.Peek ();
}

【讨论】:

    猜你喜欢
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    相关资源
    最近更新 更多