Do not throw exceptions in special methods

Metadata

ID: csharp-best-practices/no-exception-special-methods

Language: C#

Severity: Warning

Category: Error Prone

Description

Do not throw exceptions in special methods such as ToString(), Dispose() or GetHashCode.

Non-Compliant Code Examples

class MyClass {
    public override string GetHashCode()
    {
        if (something)
        {
            throw new Exception();
        }
        throw new Exception();
    }
}
class MyClass {
    public override string ToString()
    {
        if (something)
        {
            throw new Exception();
        }
        throw new Exception();
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis

PREVIEWING: may/unit-testing