Do not throw generic exceptions

Metadata

ID: csharp-best-practices/use-specific-exceptions

Language: C#

Severity: Warning

Category: Best Practices

Description

Exceptions should be specific to the application to help points the exact issue. For these reasons, generic exceptions should not be used and we should instead favor specific exception types.

Non-Compliant Code Examples

class MyClass {
    public static void processString(string s)
    {
        throw new Exception("foo");
        throw new ApplicationException("oh no something got wrong");
    }
}

Compliant Code Examples

class MyClass {
    public static void processString(string s)
    {
        throw new MyCustomException("oh no!");
    }
}