import { BaseCommand } from '../../modules/ace/main.ts'; import { type CommandOptions } from '../../types/ace.ts'; /** * Command to create a new custom exception class. * Custom exceptions allow you to define specific error types for your application * with custom error messages, status codes, and error handling logic. * * @example * ``` * ace make:exception ValidationException * ace make:exception UnauthorizedException * ace make:exception ResourceNotFoundException * ``` */ export default class MakeException extends BaseCommand { /** * The command name */ static commandName: string; /** * The command description */ static description: string; /** * Command options configuration. * Allows unknown flags to be passed through. */ static options: CommandOptions; /** * Name of the exception class to create */ name: string; /** * Read the contents from this file (if the flag exists) and use * it as the raw contents */ contentsFrom: string; /** * Forcefully overwrite existing files */ force: boolean; /** * The stub template file to use for generating the exception class */ protected stubPath: string; /** * Execute the command to create a new custom exception class. * Generates the exception file with proper error handling structure. */ run(): Promise; }