Helion Bestsellery

Web accessibility. Wprowadzenie do dostępności cyfrowej
  • Autor: Wojciech Kutyła
  • Zniżka: 35%
  • Cena: 79.00 51.35 zł
  • Marka: Onepress
  • Status: Dostępna
  • Typ: Książka
  • EAN: 9788328915459
  • ISBN: 978-83-289-1545-9
Dodaj Web accessibility. Wprowadzenie do dostępności cyfrowej do koszyka

Helion Książka Dnia

Algorytmy w Pythonie. Techniki programowania dla praktyków
  • Autor: Piotr Wróblewski
  • Zniżka: 50%
  • Cena: 119.00 59.50 zł
  • Marka: Helion
  • Status: Dostępna
  • Typ: Książka
  • EAN: 9788328393684
  • ISBN: 978-83-283-9368-4
Dodaj Algorytmy w Pythonie. Techniki programowania dla praktyków do koszyka

throw

[ Leksykon ] [ JavaScript ] [ Instrukcje ] [ Promise() ]

throw

[_] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]

  

Przykłady:

throw new Error("Brak danych!"); // obiekt z wiadomością tekstową
throw true; // wartość true
throw "Brak danych!"; // wartość tekstowa
throw 5; // wartość 5
throw new mojaFunkcja("Brak Danych");

  

async function pobieranie(plik, nazwa) {
const test = await fetch(plik);
if (!test.ok) {
throw new Error("plik nie istnieje, status: ${response.status}");
}
const blobinfo = await response.blob();
return [blobinfo, nazwa];
}
const fotoA = pobieranie("fotoa.jpg", "fotoA");
const fotoB = pobieranie("fotob.jpg", "fotoB");
const fotoC = pobieranie("fotoc.jpg", "fotoC");
Promise.any([fotoA, fotoB, fotoC]).then(([blob1, nazwa]) => {
const objPlikuURL = URL.createObjectURL(blob1);
const image = document.createElement("img");
image.src = objPlikuURL;
image.alt = nazwa;
document.body.appendChild(image);
}).catch((e) => {
console.error(e);
});

   

try {
throw new AggregateError([
new Error("jest błąd"),
], 'Witam');
} catch (e) {
console.log(e instanceof AggregateError); // true
console.log(e.message); // Witam
console.log(e.name); // AggregateError
console.log(e.errors); // [ Error: "jest błąd" ]
// console.error(e.message, e.name);
}

 Przykład, możliwe jest tworzenie .then po niepowodzeniu i "Zadanie B" zostanie wykonane bez względu, czy "Zadanie A" było wykonane poprawnie czy nie, do testu wykorzystujemy instrukcję throw: 

const mojaPromise = new Promise((resolve, reject) => {
console.log("Start");
resolve();
})

mojaPromise()
.then(() => {
throw new Error("Stop!");
console.log("Zadanie A");
})
.catch(() => {
console.error("Stop...");
})
.then(() => {
console.log("Zadanie B");
});

 

const promiseA = new Promise((resolve, reject) => {
throw new Error("Stop!");
});
promiseA.catch((error) => {
console.error(error);
}); // zwróci: Stop!

 

const promiseA = new Promise((resolve, reject) => {
resolve("Gotowe!");
});

promiseA.then((value) => {
console.log(value); // Gotowe!
throw new Error("wiadomość o błędzie");
})
.catch((e) => {
console.error(e.message); // wiadomość o błędzie
})
.then(
() => console.log("wiadomość to koniec"),
);

 

 

Opis:
Instrukcja throw zgłasza wyjątek zdefiniowany przez użytkownika. Wykonywanie bieżącej funkcji zostanie zatrzymane, instrukcje po throw niej nie zostaną wykonane. Sterowanie zostanie przekazane do pierwszego catch bloku w stosie wywołań. Jeśli catch wśród funkcji wywołujących nie ma żadnego bloku, program zakończy działanie..

Linki:

 

 

 

 

 

Please publish modules in offcanvas position.