c# - .NET 异常的正确使用

标签 c# exception

在以下实例中抛出的正确异常是什么?

例如,如果我有一个类:专辑,其中包含一组歌曲:

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/

相关文章:

c# - 使用 Linq to SQL 确定行是否存在的最快方法是什么?

python - 如何设置 python 异常消息以使用特殊语言?

java - 在应用程序中合并 gnu javaplot

asp.net - 内存不足异常-ASP.NET-IIS 7

c# - 正确存储和检索服务帐户的密码?

c# - 用 * 过滤,这将限制所有以 Null 开头的值?

c# - 在不复制源列表的情况下高效地对 IList<T> 进行排序

hibernate - 登录应用程序异常

.net - 更新到 .net 4.0 后 wcf 回调异常

C# 不检测和实例化类