Awesome Reviewers

Apply a single, predictable error-handling strategy across cmdlets and SDK wrappers:

Example pattern (existence + intent + -Force + consistent throw semantics):

PSDeploymentStackWhatIfResult existing = null;
try
{
    existing = sdk.GetResourceGroupDeploymentStackWhatIfResult(
        rgName, stackName, throwIfNotExists: false);
}
catch (Exception ex)
{
    // Only treat as non-fatal if the strategy explicitly allows graceful degradation.
    existing = null;
}

if (existing != null)
{
    // NEW cmdlet intent: warn when exists; Set cmdlet would invert this logic.
    if (!Force.IsPresent)
        throw new AzPSArgumentException($"What-If result '{stackName}' already exists. Use -Force to overwrite.");
}
else
{
    // SET cmdlet intent: warn when missing; NEW cmdlet proceeds.
    if (this.IsSetCmdlet && !Force.IsPresent)
        throw new AzPSArgumentException($"What-If result '{stackName}' not found. Use -Force to continue.");
}

This standard improves graceful degradation, error clarity, and reduces inconsistent behavior across cmdlets and SDK conversion layers.