Ao realizar testes no programa conforme ditado pelo professor, sempre que tento alterar um cargo colocando um nome com mais de uma palavra ("Diretor executivo", p.ex.) é lançada uma exceção "java.lang.IllegalStateException: Failed to execute CommandLineRunner" (ver print da console abaixo). Percebo que o método scanner.next() devolveu apena a primeira palavra (Diretor - veja pela mensagem que imprimi na console), e a partir daí o programa se perde. Também percebi que na aula o professor ao digitar a descrição "RECURSO_HUMANO" preencheu com underscore em vez de espaço. Como evitar esta exceção?
(mensagens omitidas)
2021-03-09 18:08:58.034 INFO 9680 --- [ main] b.c.s.spring.data.SpringDataApplication : Started SpringDataApplication in 3.851 seconds (JVM running for 4.58)
Escolha a ação
0 - Sair
1 - Cargo
1
Escolha a opção:
0 - Voltar
1 - Criar cargo
2 - Alterar cargo
2
Entre o Id do cargo
8
Entre a nova descrição
Diretor executivo
Cargo digitado: id = 8 descrição = Diretor
Cargo instanciado: Cargo [id=8, descricao=Diretor]
Cargo atualizado
Escolha a opção:
0 - Voltar
1 - Criar cargo
2 - Alterar cargo
2021-03-09 18:09:18.642 INFO 9680 --- [ main] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-03-09 18:09:18.668 ERROR 9680 --- [ main] o.s.boot.SpringApplication : Application run failed
java.lang.IllegalStateException: Failed to execute CommandLineRunner
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:807) ~[spring-boot-2.4.3.jar:2.4.3]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:788) ~[spring-boot-2.4.3.jar:2.4.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:333) ~[spring-boot-2.4.3.jar:2.4.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1311) ~[spring-boot-2.4.3.jar:2.4.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) ~[spring-boot-2.4.3.jar:2.4.3]
at br.com.semasantos.spring.data.SpringDataApplication.main(SpringDataApplication.java:26) ~[classes/:na]
Caused by: java.util.InputMismatchException: null
at java.base/java.util.Scanner.throwFor(Scanner.java:939) ~[na:na]
at java.base/java.util.Scanner.next(Scanner.java:1594) ~[na:na]
at java.base/java.util.Scanner.nextInt(Scanner.java:2258) ~[na:na]
at java.base/java.util.Scanner.nextInt(Scanner.java:2212) ~[na:na]
at br.com.semasantos.spring.data.service.CrudCargoService.inicial(CrudCargoService.java:31) ~[classes/:na]
at br.com.semasantos.spring.data.SpringDataApplication.run(SpringDataApplication.java:41) ~[classes/:na]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:804) ~[spring-boot-2.4.3.jar:2.4.3]
... 5 common frames omitted