alertTrait($msg, $url); } } if (!function_exists('dev_exception')) { function dev_exception(string $message): RuntimeException { if (ENVIRONMENT === 'development') { $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2); $caller = $trace[1] ?? null; if ($caller) { $message = sprintf( '%s->%s에서 오류발생: %s', $caller['class'] ?? '', $caller['function'] ?? '', $message ); } } return new RuntimeException($message); } }