当我想到一个问题时,我正在创建一个通用接口来验证数据提供者的可操作性。
基本上,我正在查看的方法具有Task<bool> TryConnectAsync();
之类的签名
虽然该方法清楚地表明了提供者是否可以工作,但它没有提供通用的方式指出如果不能工作(假)该怎么做。
例如,以AspNetCore.Identity包为例,通过使用返回类型IdentityResult来解决任何可能成功/失败的方法,可以解决此问题,此外还提供了有关如何解决问题或指出问题的附加信息。出了错。
在这种情况下,我不想使用异常,因为连接失败不是完全意外的情况,因为该方法为true,否则将使该方法处理异常,或者引发异常以提供有关什么内容的详细信息出了错。
我也不想仅将这些信息转储到日志中-我希望图书馆使用者能够决定是否显示该信息。
所以我的问题是:
对于Google:如何处理方法的成功或失败并提供其他信息。
不确定问题是否在这里。可能更适合SE。