JavaScript Academy · Oppitunti

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

Oppitunti 1/28 vaihetta

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/finally, throw ja mukautetut virheet — kuvitus 1

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);
}
try/catch/finally, throw ja mukautetut virheet — kuvitus 2

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);
}
try/catch/finally, throw ja mukautetut virheet — kuvitus 3

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);
}
try/catch/finally, throw ja mukautetut virheet — kuvitus 4

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);
  }
}
try/catch/finally, throw ja mukautetut virheet — kuvitus 5

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.
try/catch/finally, throw ja mukautetut virheet — kuvitus 6

finally-visa

Pikatarkistus: finally-toiminta.

try/catch/finally, throw ja mukautetut virheet — kuvitus 7

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.

try/catch/finally, throw ja mukautetut virheet — kuvitus 8
Aloita maksutta

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

  1. try/catch/finally, throw ja mukautetut virheet
  2. Defensiivinen ohjelmointi ja syötteiden tarkistukset
← Takaisin: JavaScript Academy