인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

이연권님의 프로필 이미지
이연권

작성한 질문수

파이널 코딩테스트 : 프론트엔드

playList 컴포넌트 작성

로컬스토리지 예외처리 부분

작성

·

324

1

로컬스토리지 로드&세이브 부분에 예외처리 하신 부분은 어떤 경우에 예외가 생길 수 있나요?

답변 1

3

Bonfire님의 프로필 이미지
Bonfire
지식공유자

안녕하세요! 이연권님!

세이브의 경우에는 특별히 알려진 예외가 존재하는데 특히 모바일을 사용했을 때 발생하는 것으로 알려져 있습니다.

1. 모바일 자체 용량이 가득 차있어 더이상 브라우저가 스토리지 공간을 확보할 수 없는 경우

2. 일부 브라우저에서는 로컬 스토리지의 각 키 값별로 용량 제한이 존재하여 그 한도를 초과하는 경우

3. 옛날 사파리 등에서 개인모드(private mode) 브라우징을 사용한 경우

(3번에 대한 참고글) javascript - QuotaExceededError: Dom exception 22: An attempt was made to add something to storage that exceeded the quota - Stack Overflow

로드 단독으로 알려진 예외에 대해서는 딱히 찾은 것이 없으나, 공통적으로 발생할 수 있는 예외가 리포트되었던 것이 있는데요. 

1. 사용자가 브라우저  설정을 통해 타사 쿠키와 데이터를 사용하지 않음 설정을 하여 로컬스토리지가 비활성화 된 경우

더 자세한 내용이 필요하시다면 해당 아래 글을 참고해주세요!

(참고 MDN) Window.localStorage - Web APIs | MDN (mozilla.org)

(참고 크로뮴 프로젝트) Uncaught SecurityError: Failed to read the 'localStorage' property from 'Window': Access is denied for this document. - The Chromium Projects

해당 프로젝트의 경우에는 작은 규모이기 때문에 굳이 넣어야 하냐고 한다면 넣지 않아도 큰 문제는 없을 것이지만, 버릇처럼 포함시키게 되었습니다.

이연권님의 프로필 이미지
이연권

작성한 질문수

질문하기