gpt4 book ai didi

c# - Unity 拦截和异常

转载 作者:太空狗 更新时间:2023-10-30 00:59:13 25 4
gpt4 key购买 nike

我目前正在处理一个问题,我有很多 iterfaces 和它们的实现都是统一创建的。这些类包含一些定期抛出异常的方法,我想围绕这些类创建一个动态代理,这样我就可以捕获在其他地方处理它们的方法中发生的所有异常。

当我在玩 Unity 时,我想知道是否可以使用 Unity Interception 来完成这样的事情。

即创建一个 TransparentProxyInterceptor 并在这些方法的调用周围包装一个 try-catch block 。这完全有可能还是我走错了方向?谢谢

最佳答案

是的,Unity拦截(AOP)是处理异常处理的绝佳方式。您可以添加各种行为,例如:

  • 写入日志文件或事件日志
  • 发送电子邮件
  • 增加性能计数器
  • 超时或锁定异常时自动重试
  • 重新抛出一个不同的错误

您的调用处理程序将类似于:

public override IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext)
{
IMethodReturn result = getNext()(input, getNext);

if (result.Exception != null)
{
// do something
}

return result;
}

关于c# - Unity 拦截和异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1012348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com