在以下实例中抛出的正确异常是什么?
例如,如果我有一个类:专辑,其中包含一组歌曲:
List<Song>
以及在专辑中添加歌曲的方法:
public void AddSong(Song song)
{
songs.Add(song);
}
如果用户尝试添加已存在的歌曲,我是否应该抛出异常?如果是,什么类型的异常?
我听过这句话:“只在特殊情况下使用异常”,但我想告诉实现 Album 的客户究竟出了什么问题(不仅仅是返回一个 bool 值)。
最佳答案
在完全相同的情况下,Microsoft 的 .NET 设计人员 chose to throw ArgumentException带有描述性信息。哦,还有they were pretty consistent about that .
关于c# - .NET 异常的正确使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2573764/