C# 正在引发异常
当有空值时抛出ArgumentNullException()是个好主意吗?线程没有提到在null上抛出的最明显的异常 谢谢仅当发现方法的参数为空时才应使用:C# 正在引发异常,c#,C#,当有空值时抛出ArgumentNullException()是个好主意吗?线程没有提到在null上抛出的最明显的异常 谢谢仅当发现方法的参数为空时才应使用: public void MyMethod(MyClass cannotBeNull) { if (cannotBeNull == null) { throw new ArgumentNullException("cannotBeNull"); } // Do something useful
public void MyMethod(MyClass cannotBeNull)
{
if (cannotBeNull == null)
{
throw new ArgumentNullException("cannotBeNull");
}
// Do something useful
}
仅当发现方法的参数为null时才应使用:
public void MyMethod(MyClass cannotBeNull)
{
if (cannotBeNull == null)
{
throw new ArgumentNullException("cannotBeNull");
}
// Do something useful
}
事实上,你是在倒读,另一个场景是这样的: 如果我期望一个空值并得到一个定义的值 如果你看一下,它是专门为 当一个空引用(在Visual Studio中为Nothing)时引发的异常 Basic)传递给执行以下操作的方法 不接受它作为有效的参数 我期待一个空值,我得到了一些东西 vs 我期待着什么,但我得到了零 也就是说,没有理由你不能,或者不应该,创造你自己的
public class IWantANullException:Exception
你想怎么扔就怎么扔。事实上,你是在倒着看,另一个场景是这样的: 如果我期望一个空值并得到一个定义的值 如果你看一下,它是专门为 当一个空引用(在Visual Studio中为Nothing)时引发的异常 Basic)传递给执行以下操作的方法 不接受它作为有效的参数 我期待一个空值,我得到了一些东西 vs 我期待着什么,但我得到了零 也就是说,没有理由你不能,或者不应该,创造你自己的
public class IWantANullException:Exception
不管你想以什么方式抛出它。在这条线索中,问题的提问者期望一个空值作为参数(正如评论所暗示的那样)。在这种特定情况下,这不是一个异常场景,他希望在参数为非null时抛出一个异常。在该线程中,问题的提问者希望参数为null(正如注释所示,这确实是一种味道)。在这种特定情况下,这不是异常场景,他希望在参数为非Null时引发异常。请参阅代码分析规则。请参阅代码分析规则。