Best Practices for Defining and Categorizing Errors in Code

Hi,
Is there a recommended way to create errors?
Should I generally be defining different error for each functionality or different errors for each unique error and passing different messages?

One error for the same function:
export class QueryStudentError extends Data.TaggedError(
  "QueryStudentError",
)<{
  message: string;
  cause?: unknown;
}> {}

new QueryStudentError("invalid query input")
new QueryStudentError("Failed to fetch from db")


Or split into different errors

export class QueryStudentError extends Data.TaggedError(
  "QueryStudentError/InvalidQuery",
)
export class QueryStudentError extends Data.TaggedError(
  "QueryStudentError/DbFailed",
)
Was this page helpful?