If you do not want the object to be created, do not call new. A call newalways creates an object, even if it is then discarded due to an exception. If you just want the caller to not receive the object as a result of calling the constructor, you can make your constructor exclusive. If you want them to just get a null reference, you cannot do this in the constructor.
, new null:
public class A
{
public static A createIfNonNegative(int i)
{
return i < 0 ? null : new A();
}
}