Lar Finanças Pessoais Como usar uma declaração Java Try com recursos - dummies

Como usar uma declaração Java Try com recursos - dummies

Vídeo: 6 RECURSOS FAVORITOS do SQLDBX 2024

Vídeo: 6 RECURSOS FAVORITOS do SQLDBX 2024
Anonim

Imagine um programa Java que recebe entrada de dois arquivos diferentes ou de um Scanner e um disco Arquivo. Para garantir que você limpe corretamente, você coloca fechar chamadas de método em uma cláusula finalmente .

importar java. io. Arquivo;

importar java. io. IOException;

importar java. util. Scanner;

classe pública Principal {

public static void main (String args []) {

Scanner scan1 = null;

Scanner scan2 = null;

tente {

scan1 = novo Scanner (novo Arquivo ("File1. Txt"));

scan2 = novo Scanner (novo Arquivo ("File2. Txt"));

// Faça coisas úteis

} catch (IOException e) {

// Ops!

} finalmente {

scan1. fechar();

scan2. fechar();

Sistema. Fora. println ("Feito!");

}

}

}

Em teoria, o computador sempre executa scan1. fechar () e scan2. fechar () não importa o que dê errado durante a execução da cláusula tentar . Mas essa é a teoria. Na realidade, outro programador (não você, é claro) pode modificar o código fechando scan1 no meio da cláusula try :

tente {

scan1 = novo Scanner (novo Arquivo ("File1. Txt"));

scan2 = novo Scanner (novo Arquivo ("File2. Txt"));

// Faça coisas úteis, mas também …

scan1. fechar();

scan1 = null;

} catch (IOException e) {

// Oops!

} finalmente {

scan1. fechar();

scan2. fechar();

Sistema. Fora. println ("Feito!");

}

Agora você tem uma situação real. Dentro da cláusula finalmente , o valor de scan1 é null . A chamada para scan1. close () falha, então o programa lança um NullPointerException e pára de ser executado antes de atingir a chamada para scan2. fechar () . Na pior das circunstâncias, scan2 não está fechado e seu programa tem File2. txt bloqueado para que nenhum outro programa possa usar o arquivo.

Quando um programa usa vários recursos (muitos arquivos, um banco de dados e um arquivo, ou o que quer que seja), o acúmulo de declarações tentar torna-se bastante complicado. Você pode fazer tentar declarações dentro de catch cláusulas e todos os tipos de combinações loucas. Mas o Java tem uma maneira melhor de resolver o problema: no Java 7 (e versões posteriores de Java), você pode criar uma declaração de tentativa com recursos. Este código mostra como.

importar java. io. Arquivo;

importar java. io. IOException;

importar java. util. Scanner;

public class NewMain {

public static void main (String args []) {

try (Scanner scan1 = new Scanner (novo arquivo ("File1.txt "));

Scanner scan2 = new Scanner (novo arquivo (" File2. txt ")) {

// Faça coisas úteis

} catch (IOException e) {

// Oops v

}

Sistema. out. println ("Done!");

}

}

Neste código, as declarações de scan1 e scan2 estão entre parênteses após a palavra tentar . As declarações entre parênteses indicam ao Java que feche scan1 e scan2 automaticamente após a execução das instruções no > tente . Você pode declarar vários recursos dentro dos parênteses de uma instrução tentar . Ao fazê-lo, o Java fecha todos os recursos automaticamente após a execução das instruções da cláusula tentar . Você pode adicione as cláusulas catch e uma cláusula finalmente , se desejar. Você pode acessar todos os tipos de recursos (arquivos, bancos de dados, conexões para servidores e outros) e ter a paz de espírito sabendo que O Java irá separar as conexões automaticamente. A vida é boa.

Como usar uma declaração Java Try com recursos - dummies

Escolha dos editores

Acalma suas emoções ao praticar Mindfulness - dummies

Acalma suas emoções ao praticar Mindfulness - dummies

Aqui, você descobre a maneira consciente de gerenciar as emoções - as etapas para tome quando estiver sentindo baixo, excessivamente irritado ou desconfortavelmente ansioso. As emoções positivas podem ser um sentimento maravilhoso. A alegria, a alegria, a emoção e a felicidade são perfeitas. Mas como você pode lidar com as chamadas emoções negativas? Use a atenção para a saúde emocional A atenção plena está se tornando ...

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Você pode encontrar a meditação mindfulness é uma ótima maneira de Comece o seu dia de trabalho. Quando chegar ao trabalho pela manhã, talvez já esteja estressado. Depois de uma agitada hora ou duas preparando as crianças para a escola ou regatear com seu parceiro ou lidar com alguma emergência em casa, seguido de ...

Os melhores sites Mindfulness - dummies

Os melhores sites Mindfulness - dummies

, Independentemente de você morar no Reino Unido ou em outro lugar, se você procurar "mindfulness" 'on-line, você literalmente obterá milhões de resultados. Como você pode dizer o trigo da palha? Aqui estão alguns sites que você achará útil. Atento. Este recurso maravilhoso tem muitos conteúdos de alta qualidade de professores excelentes de atenção plena. O ...

Escolha dos editores

HDR Solução de problemas: Nada está funcionando - manequins

HDR Solução de problemas: Nada está funcionando - manequins

Quando você se depara com uma situação com suas fotografias de alcance dinâmico elevado e parece que nada que você está fazendo está funcionando - as configurações não parecem boas, a imagem parece errada, os efeitos são ruins - relaxe e faça uma pausa. A imagem está lhe dizendo algo. Que algo às vezes é relacionado a forçar ...

HDR Resolução de problemas: falta de imaginação - dummies

HDR Resolução de problemas: falta de imaginação - dummies

A imaginação é uma coisa poderosa ao preparar imagens HDR, fato que é tornou-se mais óbvio quando você vê o resultado de não usá-lo versus usá-lo. A imagem superior desta figura é uma imagem HDR de um diner local durante a "hora dourada" - naquele horário atrasado (ou manhã) quando ...

HDR Solução de problemas: Sharpening - dummies

HDR Solução de problemas: Sharpening - dummies

Se você ficar apanhado na perfeição, você está preparado para aumentar seu HDR imagens. Os fotógrafos às vezes estão obcecados com a nitidez em suas fotos. Eles querem que tudo seja pixelly perfeitamente afiado do nariz da câmera até o infinito, independentemente da lente, abertura, ISO ou velocidade do obturador que eles usem. Esta figura mostra os resultados ...

Escolha dos editores

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Em qualquer componente de rede da Cisco, o show O comando de versão é aplicável a qualquer hardware usando o Sistema Operacional Cisco IET (Internetwork Operating System), incluindo switches. O comando show version mostra informações ligeiramente diferentes, de acordo com o tipo de dispositivo em que você usa. Veja a saída do comando show version em um switch e ...

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Você precisa usar o modo EXEC privilegiado se quiser realmente tem acesso de atualização a um sistema de rede Cisco,. Para entrar neste modo no modo EXEC do usuário, emita o comando enable, que solicita uma senha, se configurado. Como o nome do modo sugere, este modo tem privilégios extras para permitir ...

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Shell seguro (SSH) é um protocolo de rede para seus dispositivos Cisco, que é mais seguro do que o Telenet. Definir uma senha segura é um requisito de configuração para este protocolo. Para configurar o acesso a um switch Cisco para SSH, você precisará ter uma conta de usuário criada em sua opção. O exemplo supõe que você tenha ...