【发布时间】:2016-08-04 07:27:03
【问题描述】:
当开发人员传递一个不存在的 resourceKey 时,我会使用 'as' 运算符发现他的失败
选项1:
var image = resourceManager.GetObject(resourceKey) as Bitmap;
return image;
选项2
var image = resourceManager.GetObject(resourceKey) as Bitmap
我是否应该在这里检查空并抛出自定义执行(“给定键的图像不存在!”)
我“假设”每个开发人员都测试他的代码,因此将 不存在的资源键作为字符串传递应该会导致 GetObject-Method 调用出现异常。
当开发人员只返回 null 而没有显示任何内容时,他有什么好处?实际上没有任何好处。
但我的同事们意见不同...
【问题讨论】:
-
没有回答你的问题,但我认为你应该先检查资源对象,然后再将其转换为
Bitmap。 -
有一些黄金法则,但有例外。一种方法是不要对您可以处理的事情使用异常,因为 catch 块是性能杀手。另一种是不使用异常作为流控制。 Linvi 的回答第二个选项对于这些情况是一个很好的解决方案。
标签: c# .net exception-handling