try/catch/finally, throw ja mukautetut virheet
Käytä try/catch/finally-rakenteita, heitä yksinkertaisia virheitä throwlla ja määritä pieni mukautettu Error selkeämpiä viestejä varten
try/catch/finally, throw ja mukautetut virheet on ilmainen JavaScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/2. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu JavaScript Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. JavaScript Academy-kurssilla on yhteensä 2 oppituntia.
Johdanto virheenkäsittelyyn
Tavoite: Käsitelkää virheet turvallisesti ja pitäkää ohjelmat vakaina.
- try/catch-perusteet
- throw selkeän viestin kanssa
- finally siivousta varten
- pieni mukautettu Error

try/catch-perusteet
Käärikää riskialttiit toiminnot try-lohkoon. Näyttäkää catch-lohkossa lyhyt ja hyödyllinen viesti.
// try/catch around risky code
try {
const data = JSON.parse("{\"name\":\"Ayla\"}");
console.log("Parsed:", data.name);
} catch (e) {
// e.message is short and useful on mobile
console.log("Failed to parse:", e.message);
}

throw-perusteet
Käyttäkää throw new Error("message") -rakennetta ohjelman pysäyttämiseen ja virheen syyn ilmoittamiseen.
// Throw when inputs are invalid
function doubleNumber(n) {
if (typeof n !== "number") {
throw new Error("Number required");
}
return n * 2;
}
try {
console.log(doubleNumber(4));
console.log(doubleNumber("4")); // will throw
} catch (e) {
console.log("Error:", e.message);
}

finally siivousta varten
finally suoritetaan riippumatta siitä, onnistuiko try vai epäonnistuiko se — se sopii esimerkiksi resurssien sulkemiseen.
// finally runs after try/catch — great for cleanup
let opened = false;
try {
opened = true;
console.log("Opened:", opened);
// Force an error to see finally still run
JSON.parse("{ bad }");
} catch (e) {
console.log("Caught:", e.message);
} finally {
opened = false;
console.log("Closed:", opened);
}

Mukautettu Error (perusteet)
Luokaa pieni InputError syöteongelmia varten. Käsitelkää se erikseen instanceof-operaattorilla.
// Make a small custom error
class InputError extends Error {
constructor(message) {
super(message);
this.name = "InputError";
}
}
function positive(n) {
if (typeof n !== "number") {
throw new InputError("Number required");
}
if (n <= 0) {
throw new InputError("Must be positive");
}
return n;
}
try {
console.log("OK:", positive(3));
console.log("Fail:", positive(0));
} catch (e) {
if (e instanceof InputError) {
console.log("Input problem:", e.message);
} else {
// Unknown error: rethrow or log differently
console.log("Unexpected:", e.message);
}
}

Vinkit ja tarkistuslista
Vinkit:
- Vahvistakaa syötteet aikaisin ja käyttäkää lyhyitä virheilmoituksia.
- Käyttäkää finally-lohkoa siivoukseen (sulkemisliput, ajastimet ja niin edelleen).
- Älkää nielkö virheitä: kirjatkaa ne lyhyesti lokiin tai heittäkää ne uudelleen.

finally-visa
Pikatarkistus: finally-toiminta.

Kertaus
Kertaus: Käärikää riskialtis koodi try/catch-rakenteeseen, heittäkää lyhyitä ja hyödyllisiä virheitä, käyttäkää finally-lohkoa siivoukseen ja määrittäkää pieniä mukautettuja virheitä selkeämpää käsittelyä varten.

Opi JavaScript tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 59
- Oppitunnit
- 200
Usein kysytyt kysymykset
Onko oppitunti ”try/catch/finally, throw ja mukautetut virheet” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa JavaScript Academy-oppimispolun 3 oppituntia, myös oppitunnin “try/catch/finally, throw ja mukautetut virheet”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. JavaScript Academy-kurssilla on yhteensä 2 oppituntia.
Mitä opin oppitunnilla ”try/catch/finally, throw ja mukautetut virheet”?
Käytä try/catch/finally-rakenteita, heitä yksinkertaisia virheitä throwlla ja määritä pieni mukautettu Error selkeämpiä viestejä varten Harjoittelet JavaScript Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni JavaScript Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin JavaScript Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/2.
Kuinka kauan ”try/catch/finally, throw ja mukautetut virheet”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä JavaScript Academy-oppitunnilla?
Kyllä. Jokainen JavaScript Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- try/catch/finally, throw ja mukautetut virheet
- Defensiivinen ohjelmointi ja syötteiden tarkistukset