Skip to content

Domain에서 발생하는 IllegalArgumentException에 대해 전체적인 에러 핸들링을 추가한다. #70

Description

@rhkrwngud445

기능 설명

Nickname을 UiModel로 바꾸면서, nickname 포맷 비즈니스 오류에 대해 exception을 던질 수 있게 됐습니다.
후순위로 고려되어도 좋습니다. 추후 수정할 기록용으로 이슈로 남겨 놓습니다.

@JvmInline
value class Nickname private constructor(val value: String) {
    init {
        check(verifyNickname(value)) { NICKNAME_FORMAT_ERROR }
    }

    companion object {
        private const val NICKNAME_REGEX_PATTERN = "[a-zA-Z0-9가-힣]{2,10}"
        private const val NICKNAME_FORMAT_ERROR = "닉네임 형식이 잘못 되었습니다."
        fun create(value: String): Nickname = Nickname(value)
        fun verifyNickname(nickname: String): Boolean {
            val regex = Regex(NICKNAME_REGEX_PATTERN)
            return regex.matches(nickname)
        }
    }
}

개발 일정

No response

자식 이슈

No response

부가 설명

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions