Hjem Personlig finansiering Hvordan du bruker en Java-test-erklæring med ressurser - dummies

Hvordan du bruker en Java-test-erklæring med ressurser - dummies

Video: Bring on the learning revolution! | Sir Ken Robinson 2024

Video: Bring on the learning revolution! | Sir Ken Robinson 2024
Anonim

Forestill deg et Java-program som får input fra to forskjellige filer eller fra en Skanner og en disk fil. For å sikre at du rydder opp riktig, legger du nær metallsamtaler i en endelig -klausul.

importer java. io. Fil;

importer java. io. IOException;

importer java. util. Scanner;

offentlig klasse Main {

statisk statisk tomt hoved (String args []) {

Skanner scan1 = null;

Skanner scan2 = null;

prøv {

scan1 = ny skanner (ny fil ("File1. Txt"));

scan2 = ny skanner (ny fil ("File2. Txt"));

// Gjør nyttige ting

} fange (IOException e) {

// Ups!

} til slutt {

scan1. Lukk();

scan2. Lukk();

System. ute. println ("Ferdig!");

}

}

}

I teorien utfører datamaskinen alltid scan1. lukk () og scan2. Lukk () Uansett hva som går galt under utførelsen av Prøv -klausulen. Men det er teori. I virkeligheten kan en annen programmerer (ikke selvfølgelig) endre koden ved å lukke scan1 i midten av prøve -klausulen:

prøv {

scan1 = ny skanner (ny fil ("File1. Txt"));

scan2 = ny skanner (ny fil ("File2. Txt"));

// Gjør nyttige ting, men også …

scan1. Lukk();

scan1 = null;

} fangst (IOException e) {

// Ups!

} til slutt {

scan1. Lukk();

scan2. Lukk();

System. ute. println ("Ferdig!");

}

Nå har du et reelt problem. Innenfor endelig -klausulen er verdien på scan1 null . Anropet til scan1. Lukk () mislykkes, så programmet kaster en NullPointerException og slutter å kjøre før du ringer til scan2. lukk () . I verste fall er scan2 ikke stengt, og programmet har File2. txt låst opp slik at ingen andre programmer kan bruke filen.

Når et program bruker flere ressurser (mange filer, en database og en fil, eller hva som helst), blir oppsummeringen av prøve setningene ganske kompliserte. Du kan gjøre prøve uttalelser innenfor catch klausuler og alle slags sprø kombinasjoner. Men Java har en bedre måte å løse problemet på: I Java 7 (og senere versjoner av Java) kan du opprette en test-med-ressurser-setning. Denne koden viser hvordan.

importer java. io. Fil;

importer java. io. IOException;

importer java. util. Scanner;

offentlig klasse NewMain {

offentlig statisk tomt hoved (String args []) {

prøve (Scanner scan1 = ny skanner (ny fil ("File1.txt "));

Skanner scan2 = ny skanner (ny fil (" File2. txt "))) {

// Gjør nyttige ting

} fange (IOException e) {

// Ups

}

I denne koden erklæres

scan1

og

i } System. out. println ("Done!"); } scan2 er i parentes etter ordet try . De parentesiserte deklarasjonene forteller at Java skal lukke scan1 og scan2 automatisk etter utførelsen av setningene i > Prøv -klausulen. Du kan deklarere flere ressurser i en prøve setningens parentes. Når du gjør det, lukker Java alle ressursene automatisk etter utførelse av prøve -klausulens uttalelser. Legg til catch klausuler og en endelig -klausul, hvis du vil. Du kan få tilgang til alle slags ressurser (filer, databaser, tilkoblinger til servere og andre) og ha ro i sinnet å vite at Java vil koble forbindelsene automatisk. Livet er bra.

Hvordan du bruker en Java-test-erklæring med ressurser - dummies

Redaktørens valg

Vanlige visuelle studio-tastaturgenveier - dummier

Vanlige visuelle studio-tastaturgenveier - dummier

Du kan få tilgang til mange av funksjonene du bruker i Visual Studio til Lag en Silverlight-applikasjon gjennom tastaturgenveier. Her er de vanlige snarveiene som hjelper deg med å utføre oppgaver raskt i Visual Studio. Tastatur snarvei Handling Ctrl + Alt + F1 Åpne Visual Studio Documentation Ctrl + Shift + B Bygg programmet Ctrl + F5 Kjør prosjektet Ctrl + Alt + X Åpne verktøykassen hvis ...

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Som Du komponerer markedsførings-e-postene dine, husk at formatet på e-posten din visuelt kommuniserer hovedideen til innholdet før publikum selv begynner å lese det. Forbrukerne forventer at formatet på e-posten din samsvarer med informasjonen den inneholder, slik at bruk av riktig format bidrar til å bygge publikums tillit. Velg ...

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Din e-postmarkedsføringslisten består sannsynligvis av prospekter og kunder i ulike stadier av kjøpesyklusen med litt forskjellige interesser, så en del av publikum vil aldri være klar til å reagere umiddelbart på hver handling. Selv om alle på din e-postliste er klare til handling, er dine anrop til handling ...

Redaktørens valg

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

En nyttig rapportvisning I et Excel-pivottabell er YTD-totalsvisningen. Noen ganger er det nyttig å fange et løp-total-visning for å analysere bevegelsen av tall på en årlig basis (YTD) basis. Denne figuren illustrerer et pivottabell som viser en løpende total omsetning per måned for hvert år. I denne visningen er du ...

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

I enkelte tilfeller vil du kanskje opprett et pivottabell fra grunnen ved hjelp av Excels eksisterende interne datamodell som kildedata. Her er trinnene for å gjøre det: Velg Sett inn → PivotTable fra båndet. Dialogboksen Create PivotTable åpnes. Velg alternativet Bruk en ekstern datakilde, som vist, og klikk deretter på ...

Hvordan lage en standard snikker i Power Pivot - dummies

Hvordan lage en standard snikker i Power Pivot - dummies

Slicers tilbyr et brukervennlig grensesnitt med som du kan filtrere en Power Pivot pivottabell. Det er på tide å lage din første slicer. Bare følg disse trinnene:

Redaktørens valg

Alarmhendelsen i GameMaker: Studio-dummies

Alarmhendelsen i GameMaker: Studio-dummies

Alarmer er utmerket for når du vil ha tid Handlinger i din spill i GameMaker: Studio. For eksempel, hvis du vil at spilleren bare skal skyte kuler en gang hvert annet sekund, kan du sette en alarm for det. Hvis du vil når nye fiendtlige fly vises, kan du sette en alarm for det ...

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

I GameMaker: Studio, Flytt-fanen er den første kategorien i vinduet Objektegenskaper. Her er en liste over hver av handlingene du kan tilordne objektene. I følgende definisjoner brukes begrepet Instance for å referere til hva handlingen påvirker. Men du konfigurerer handlingen i objektet ...

Andre hendelser i GameMaker: Studio - dummies

Andre hendelser i GameMaker: Studio - dummies

I GameMaker: Studio, Andre hendelser er de som ikke anses verdige av sitt eget sted på menyen Event. Disse andre hendelsene kan være ganske kjempebra. Menyelementene er ganske mye selvforklarende, så det er ikke nødvendig med detaljer her. For fullstendige beskrivelser av hver av disse elementene, kan du alltid trykke F1 i GameMaker og ...