我目前正在做一个小项目,在这个项目中,我想用sentry来捕捉崩溃。该项目正在使用Godot的c#实现。
Sentry需要包装所有执行代码来捕获异常。
有没有一个通用的入口点,我可以放置这个try/catch块,或者我需要将它添加到Godot调用的代码的每个部分中?
提前感谢:)
发布于 2020-04-05 02:54:33
设置完成后,Sentry客户机将自己附加到一些C#框架异常挂钩上,比如AppDomain.UnhandledException。
因此,您不需要在任何地方植入try / catch子句。
只需像这样初始化SentrySDK对象:
SentrySdk.Init(o => {
o.Dsn = new Dsn("https://451cf9b0fd9e4f0294a0d15b6c36bce2@sentry.io/5170198");
});框架应该调用Sentry并创建自己的报告。
发布于 2021-03-29 18:12:16
我最近实现了Sentry SDK,但AppDomain.UnhandledException在Godot C# mono实现中不起作用。您必须手动捕获未处理的异常,如下所示:
SentrySdk.Init(opts => { opts.Dsn = "<sentry dsn url>"; });
GD.UnhandledException += (sender, args) => {
if (SentrySdk.IsEnabled) {
SentrySdk.CaptureException(args.Exception);
}
};这是在Godot 3.3+版本的https://github.com/godotengine/godot/pull/46174中添加的
https://stackoverflow.com/questions/60568372
复制相似问题