해결된 질문
작성
·
61
0
비만도 계산기 소스코드 작성중 null이나 빈값(empty)관련 예외처리는 있었으나, 문자열 관련 입력을 받을 수 없도록 하는 처리는 따로 없었던 것 같습니다.
아마도 키보드 타입을 number로 제한을 두셨기 때문이었을 것이라 생각되는데요.
입력폼에다가 커서를 둔 상태로 한영키(맥북에서 캡스락)을 누르면 문자열이 입력되는 것을 확인할 수 있었습니다.
입력된 문자열이 있는 상태로 결과버튼을 누르면 빨간 에러화면(?) 같은 것을 확인 할 수 있었는데요.
아래 사항들이 궁금하여 문의드립니다.
자세한 사항은 아래 첨부된 세개의 이미지 참조 부탁드립니다.
빨간화면이 어떤 에러가 발생할 때 주로 뜨는 것인지?? (웹에서 404에러가 페이지를 표시할 수 없음화면이라던가... 그런 어떤 특정 오류 타입이 있는지 궁금하네요)
맥os에서만 발생하는 오류인지, 윈도우os에서도 발생할 수 있는 오류인지??
해당 오류를 완전히 막을 수 있는 방법이 있다면?? (string을 완전히 막아야 할까요??)
이미지가 한줄로 나열되지 않네요...
답변 2
1
빨간화면이 어떤 에러가 발생할 때 주로 뜨는 것인지?? (웹에서 404에러가 페이지를 표시할 수 없음화면이라던가... 그런 어떤 특정 오류 타입이 있는지 궁금하네요)
=> 빨간 화면은 UI 오류만 보여주고, 404 같은 네트워크 통신 오류는 실행창에 에러 로그로 표시 됩니다.
맥os에서만 발생하는 오류인지, 윈도우os에서도 발생할 수 있는 오류인지??
=> 공통 오류입니다.
해당 오류를 완전히 막을 수 있는 방법이 있다면?? (string을 완전히 막아야 할까요??)
=> 문자열 입력에 대해 코드로 막아야 합니다. 앱에서는 키보드 타입을 숫자만 받도록 하면 막히는데, 에뮬에서 키보드로 입력을 할 수 있지만 실제로는 불가능하기 때문에 무시해도 됩니다. 하지만 웹이나 데스크탑으로 빌드한다면 숫자 이외의 글자가 입력되면 입력을 무시한다거나 하는 처리를 코드로 추가하면 될 것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다. siah님!
Flutter 애플리케이션에서 발생할 수 있는 일반적인 오류 중 하나를 다루고 계시네요. 주로 문자열 입력과 관련된 문제로 보입니다. 아래에서 질문하신 각 사안에 대해 답변드리겠습니다.
빨간 화면의 에러: Flutter에서 빨간 화면은 주로 예외(오류)가 발생했을 때 디버그 모드에서 표시됩니다. 이는 FormatException
으로, 숫자로 변환할 수 없는 문자열이 입력되었을 때 발생합니다. 예를 들어, 사용자가 숫자가 아닌 문자열을 입력했을 때 발생할 수 있습니다.
맥OS에서만 발생하는지 여부: 이 오류는 특정 OS에 국한된 것이 아닙니다. iOS나 Android에서 입력 관련 예외가 발생하면 동일하게 빨간 화면이 나타날 수 있습니다. 다만, 입력 방식이나 키보드 설정에 따라 발생 빈도는 다를 수 있습니다.
문자열 입력을 막는 방법:
TextInputType.number
를 사용하여 숫자 입력만 받을 수 있도록 하면 입력 받을 수 있는 키보드 타입을 제한할 수 있습니다. 하지만, 명백히 문자열이 입력되는 경우를 완전히 차단하려면 추가적인 검증 로직이 필요합니다.try-catch
블록을 사용하여 오류 발생 시 사용자에게 알림 메시지를 표시하거나 기본값을 처리하는 방법도 고려해 볼 수 있습니다.아래는 관련 자료를 참고할 수 있는 URL입니다:
이미지 설명과 동일한 페이지에서 발생하는 오류를 해결하기 위해, 오류 처리 방법을 참고하는 것이 좋습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.