Tav*_*dos 2 c# unity-game-engine
我在应用程序商店中有一个Unity手机游戏,我有一个功能,可以将玩家的电子邮件发送到我的服务器,通知我发生的事情,这不应该发生.如果try
我编写的内容失败了,我会给自己发一封电子邮件,看看肯定有错误.
是否有可能,像OnException处理程序一样构建一个发送每个发生的异常的电子邮件,包括我没写的代码?一些例外可能来自我使用的插件,所以我想有一些Listener,当任何类型的异常被调用时它会起作用.
那可能吗?
您无法捕获其他插件中的所有其他异常.Unity在后台执行此操作,Unity为您提供API以接收它捕获的异常:
较新版本的Unity:
void OnEnable()
{
Application.logMessageReceived += LogCallback;
}
//Called when there is an exception
void LogCallback(string condition, string stackTrace, LogType type)
{
//Send Email
}
void OnDisable()
{
Application.logMessageReceived -= LogCallback;
}
Run Code Online (Sandbox Code Playgroud)
旧版Unity:
void OnEnable()
{
Application.RegisterLogCallback(LogCallback);
}
//Called when there is an exception
void LogCallback(string condition, string stackTrace, LogType type)
{
//Send Email
}
void OnDisable()
{
Application.RegisterLogCallback(null);
}
Run Code Online (Sandbox Code Playgroud)
编辑:
Stacktrace问题:
如果stackTrace
参数为空,那么您可以使用System.Diagnostics.StackTrace
该类在LogCallback
函数内部手动检索堆栈跟踪.例如,
void LogCallback(string condition, string stackTrace, LogType type)
{
//Send Email
System.Diagnostics.StackTrace sTrace = new System.Diagnostics.StackTrace();
Debug.Log(sTrace.ToString());
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6068 次 |
最近记录: |