我正在使用C#和Unity,并将可以在Unity和其他地方使用的库放在一起。这对我来说是有道理的,因为它对于网络和Id来说就像数据处理程序一样是相同的。团结和我在扩展把其他更多的是最新的C#环境之间的兼容性,我可以像下面这样:在Unity中处理异常
public static class PropertyInfoExtension
{
public void SetValue(this PropertyInfo propertyInfo, object obj, object value)
{
propertyInfo.SetValue(obj, value);
}
}
的错误,这不是明显对我来说,这是自称在统一的版本的C#。这段代码是在它自己的线程上运行的,这是我认为我做错了什么的地方,因为这应该导致缓冲区溢出异常。
我有一个注册AppDomain.CurrentDomain.UnhandledException
..我已经把一个日志系统,包装到UnityEngine.Debug.Log
API。我输入try {} catch {} blocks
,但Unity仍然会在一半的时间内崩溃并挂起另一半的时间..我会随机得到一条错误消息,并且第一次从UnhandledException处理程序获得转储时,它会将我放在轨道上以缩小这下来,但它感觉就像我在Unity中使用C#不正确,但我无法找出我应该做的。
编辑:我想在我的这个问题的修改之一,我明确删除它是什么..什么是正确的方式来获得统一错误?为什么这个错误会导致Unity崩溃而不是应用程序崩溃并抛出异常?为什么UnhandledExcpetion处理程序仅在2小时的测试中被调用一次?
这些都归结于我应该如何在Unity中可靠地开发一个强大的错误处理系统,因为显然我通常在C#中做的不够好。
代码中没有多线程,您发布的代码没有描述您的问题,您的问题也没有清楚地描述问题。不知道你在这里做什么。 – CodingYoshi
为什么你甚至在Unity里面使用Reflection? –
@CodingYoshi对不起,我想在一个更清晰的问题更新,我从我的问题中删除了明确的问题。它现在在那里,但我只看在Unity中如何做可靠的错误处理..因为当应用程序有堆栈溢出而不是抛出异常的编辑器崩溃似乎我做错了什么。 – James