클라이언트가 던지는 모든 오류는 IssueStickerHeadlessError이고, code 속성으로 원인을 구분합니다.
에러 코드
| code | 의미 |
|---|---|
INVALID_PHASE | 현재 phase에서 허용되지 않은 동작 |
NOT_INITIALIZED | 아직 초기화되지 않음 |
AUTH_FAILED | API key 검증·인증 실패 |
MEMBER_AUTH_REQUIRED | 멤버 로그인이 필요하거나 실패 |
NETWORK_ERROR | 네트워크 요청 실패 |
CAPTURE_FAILED | 화면·요소 캡처 또는 업로드 실패 |
VALIDATION_ERROR | API key·제목·설명 등 입력값 검증 실패 |
에러 확인하기
에러는 두 곳에서 확인할 수 있습니다. 메서드의 try/catch, 그리고 snapshot.error입니다.
import { IssueStickerHeadlessError } from 'issue-sticker/headless';
try {
await client.submitDraft({ title: form.title, description: form.description });
} catch (error) {
if (error instanceof IssueStickerHeadlessError && error.code === 'VALIDATION_ERROR') {
showToast(error.message);
}
}
client.subscribe((snapshot) => {
if (snapshot.error) showError(snapshot.error.code, snapshot.error.message);
});