Ce face Error.captureStackTrace
Error.captureStackTrace(obiect) pune pe obiect o proprietate stack, cu lista apelurilor din acel moment. Al doilea parametru, opțional, este o funcție: toate cadrele de la ea în sus sunt scoase din stivă, ca utilizatorul să vadă locul unde a greșit el, nu interiorul bibliotecii tale.
Funcția vine din motorul V8 și există în Node.js și în browserele bazate pe Chromium. Nu face parte din standard, deci verifică existența ei înainte de folosire în codul pentru browsere.
Parametri
| Parametru | Descriere |
|---|---|
obiect |
Obiectul care primește proprietatea stack. |
functiaDeAscuns |
Opțional. Cadrele de la această funcție în sus nu apar în stivă. |
Ce returnează
undefined.
Exemple
Exemplul 1: Stivă fără funcția ajutătoare
function valideaza(valoare) {
if (!valoare) {
const eroare = { name: "EroareValidare", message: "Valoare lipsă" };
Error.captureStackTrace(eroare, valideaza);
return eroare;
}
}
function salveaza() {
return valideaza("");
}
const e = salveaza();
console.log(e.stack.split("\n")[0]);
console.log(e.stack.includes("valideaza"), e.stack.includes("salveaza"));
Rezultat
EroareValidare: Valoare lipsă
false true
Greșeli frecvente
- Folosești funcția în cod pentru Firefox sau Safari vechi fără verificare. Scrie
Error.captureStackTrace?.(obiect).
Comenzi înrudite
Error (throw new Error): Creează un obiect de eroare cu mesaj, tip și stivă de apeluri, pe care îl arunci cu throw.try / catch: Prinde erorile, ca programul să nu se oprească și să poți afișa un mesaj clar.console.trace: Afișează mesajul împreună cu stiva de apeluri: ce funcții au dus până în acel punct.
Întrebări & Exemple de Cod:
Error.captureStackTraceAi o nelămurire despre utilizarea comenzii
Error.captureStackTracesau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.