1
resposta

Unhandled exception type IOException ao usar o lambda

Boa noite pessoal. Ao tentar substituir o for pelo forEach, ocorre um erro, aparecendo essa mensagem: Unhandled exception type IOException.

<%@page import="br.com.alura.gerenciador.servlet.Empresa"%>
<%@page import="java.util.List"%>
<%@page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<%
List<Empresa> empresas = (List<Empresa>) request.getAttribute("listaEmpresas");
%>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>


    <% empresas.forEach(empresa -> out.println(empresa.getNome()));%>

</body>
</html>
1 resposta

Olá Estudante, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

Esse erro ocorre porque a expressão lambda que você está usando dentro do forEach pode lançar uma exceção do tipo IOException, que não está sendo tratada. No código enviado está ocorrendo o uso da variável out para realizar a impressão do conteúdo do conteúdo da lista de empresas, essa variável durante as aulas foi declarada para conter uma instância de PrintWriter. No projeto enviado para realizar a impressão no terminal, devemos fazer o uso do System.out.println(). Assim, a linha que contém a interação, deve ser declarada da seguinte forma:

<% empresas.forEach(empresa -> System.out.println(empresa.getNome()));%>

Após a mudança realizada, salve o arquivo e reinicie o servidor. Acesse no navegador a lista de empresas e verifique no terminal do Tomcat a impressão do seu conteúdo.

Vale ressaltar que na aula Conhecendo JSTL ocorrerá a implementação do código, para ser utilizado a biblioteca de tags jstl para que seja feito o uso da tag forEach para impressão do conteúdo da lista de empresas.

Gostaria de aproveitar a oportunidade e informar que o curso "Java Servlet: programação web Java" passou por atualizações, ganhando uma nova versão, nesta versão é utilizado a IDE IntelliJ e o framework Spring para criar uma aplicação web utilizando métodos e bibliotecas atualizadas e seguindo os padrões atuais do mercado. Neste curso você aprenderá a criar uma aplicação com Spring Boot, entender como funciona o Maven em uma aplicação Java, implementar um CRUD em uma aplicação Web, entre muitos outros conceitos. Para conhecer este novo curso, basta acessar o seguinte link:

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!