当我在实用程序模块中编写一个函数以便再次使用时,我倾向于在函数顶部留下大量注释,并且如果函数使用不当,我会在调试器中抛出一些简单的输入检查,w/o简单地使用throw命令.
处理此类情况的最佳方法是什么?在C#中最容易使用哪些功能?
在我十年前的CS类中,我们只需在C++中使用一个assert(...)命令,如果某些内容被错误地使用,程序就会爆炸.
现在我正在使用C#我已经使用了两种方法,抛出一个MessageBox.Show("...")来阐明函数过早返回的原因或者Console.WriteLine("...")来获取它仅在调试控制台中解释.
我目前正倾向于编写一个自定义的ErrorMessage函数来检查构建类型,并可能在显示任何内容之前调整#define master切换,如果我处于beta环境,可能会保存到.log文件.
在这样的实用程序模块中使用的最佳方法是什么?
如果使用无效参数调用该方法,则应抛出ArgumentException或从中派生的异常.如果正在调用当前由于对象状态而无法调用的方法,那么它应抛出InvalidOperationException.
其他人打电话给你的图书馆不会感谢你以非标准或非显而易见的方式做事.如显示消息框.特别是如果他们从网站或无法显示UI的Windows服务调用您的库.输出到调试窗口的可能性太大了.