Erweiterte benutzerdefinierte JavaScript-Ausnahme

Erweiterte benutzerdefinierte JavaScript-Ausnahme

Vorwort:

In unserer tatsächlichen Programmierung ist das Auslösen von Ausnahmen (Codefehlern) das Normalste, aber die Art und Weise, wie mit Ausnahmen umgegangen wird, ist von Person zu Person unterschiedlich. Manche Leute stoßen auf Ausnahmen und lösen die Ausnahme normalerweise oder verbergen sie auf irgendeine Weise. In JavaScript wird jedoch ein vollständiger Satz von Ausnahmebehandlungsmechanismen bereitgestellt, sodass das Programm beim Auftreten von Ausnahmen korrekt ausgeführt werden kann. Daher steht die Bedeutung der Ausnahmebehandlung in praktischen Anwendungen außer Frage. Eine vollständige Webanwendung muss über einen vollständigen Ausnahmebehandlungsmechanismus verfügen.

In diesem Artikel stellen wir die JavaScript-Verarbeitung vor

1. Konzept

1.1 Was sind Fehler und Ausnahmen?

Der sogenannte Fehler ist ein Zustand im Programmiervorgang, der die normale Ausführung des Programms verhindert, auch Ausnahme genannt.

In JavaScript sind alle Ausnahmen Error . Wenn eine Ausnahme auftritt, wird ein Error ausgelöst, das eine Beschreibung des Fehlers enthält.

Durch die von JavaScript bereitgestellten Anweisungen zur Ausnahmebehandlung können wir auftretende Fehler strukturiert erfassen und den Code zur Ausnahmebehandlung vom Kerngeschäftscode trennen.

1.2 Klassifizierung von Anomalien

In der tatsächlichen Entwicklung können Ausnahmen hauptsächlich in die folgenden drei Typen unterteilt werden:

  • Logikfehler: Logikfehler sind der Fehlertyp, der am schwierigsten aufzuspüren ist. Diese Fehler sind auf Fehler in der Programmablauflogik zurückzuführen und führen dazu, dass Ihr Skriptprogramm nicht die gewünschten Ergebnisse liefert.
  • Inhärente JavaScript-Fehler: Dies sind die häufigsten Fehlertypen, z. B. Syntaxfehler JavaScript , Codereferenzfehler, Typfehler usw. Die JavaScript-Engine löst diese Fehler automatisch aus.
  • Von Entwicklern gemeldete Fehler: Dies sind normalerweise Fehler, die von Entwicklern definiert wurden, um ihre eigenen Anforderungen zu erfüllen.

2. Ausnahmebehandlung

2.1try...catch-Anweisung

Die try...catch-Anweisung ist eine Standardmethode zum Behandeln von Ausnahmen in JavaScript. Die Syntaxstruktur ist wie folgt:

versuchen {
     // Codeblock zum Testen }
 Fang(Fehler) {
     // Codeblock zur Fehlerbehandlung } 

Parameter:

  • try :-Anweisung können Sie einen Codeblock definieren, der während der Ausführung Fehler erkennt.
  • catch :-Anweisung können Sie einen Codeblock definieren, der ausgeführt werden soll, wenn im Try-Block ein Fehler auftritt.
  • err : Ein Bezeichner, der ein Fehlerobjekt darstellt, dessen Typ dem Fehler im Testcodeblock entspricht.

Der Beispielcode lautet wie folgt:

versuchen {
  // Codeblock um zu testen ob ein Fehler vorliegt console.log(v) // v ist momentan nicht definiert und es wird eine Exception geworfen } catch (error) {
  // Das Auslösen einer Ausnahme führt diesen Codeblock aus console.log('Der obige Code weist einen Fehler auf')
}

Es ist erwähnenswert, dass **try**- und **catch**-Anweisungen paarweise auftreten

2.2 Finally-Anweisung

Die finally -Anweisung wird auch als Termination-Block bezeichnet. Dieser Anweisungsblock wird ausgeführt, nachdem try und catch -Anweisungen abgeschlossen sind, unabhängig davon, ob das Ergebnis ein Fehler ist oder nicht.

Die Syntaxstruktur ist wie folgt:

versuchen {
     // Codeblock zum Testen }
 Fang(Fehler) {
     // Codeblock zur Fehlerbehandlung }  
Endlich {
     // Codeblock, der unabhängig vom Try-Catch-Ergebnis ausgeführt wird}

Der Beispielcode lautet wie folgt:

// var v
versuchen {
  // Codeblock um zu testen ob ein Fehler vorliegt console.log(v) // v ist momentan nicht definiert und es wird eine Exception geworfen } catch (error) {
  // Das Auslösen einer Ausnahme führt diesen Codeblock aus console.log('Der obige Code weist einen Fehler auf')
Endlich
  console.log('Ich muss hingerichtet werden')
}

2.3 Throw-Anweisung

Die throw**** -Anweisung wird verwendet, um eine benutzerdefinierte Ausnahme auszulösen. Diese Ausnahme kann jeden beliebigen Datentyp haben. Wenn eine throw -Anweisung ausgeführt wird, wird die aktuelle Ausführung gestoppt. Wenn catch -Block vorhanden ist, wird catch -Block ausgeführt, andernfalls wird die Schleife verlassen.

Das Syntaxformat ist wie folgt:

Ausdruck werfen;


expression : der auszulösende Ausdruck

Verwenden Sie die throw -Anweisung, um eine Ausnahme auszulösen. Wenn Sie eine Ausnahme auslösen, gibt expression den Inhalt der Ausnahme an.

Der Beispielcode lautet wie folgt:

// throw "error" // Ausgabefehler throw false // Ausgabe false


Natürlich kann auf throw auch ein Objekt folgen.

3. Fehlerobjekt

Ein Fehlerobjekt kann über den Fehlerkonstruktor erstellt werden. Wenn ein Laufzeitfehler auftritt, wird eine Error ausgelöst. Im Allgemeinen sind Fehler vom Typ Error selten und die meisten davon sind andere Fehlertypen, aber andere Fehlertypen werden von „Error“ geerbt.

Das Error-Objekt wird hauptsächlich als Basisobjekt für benutzerdefinierte Ausnahmen verwendet.

Zusätzlich zum Error-Objekt bietet JavaScript auch die folgenden vordefinierten Fehlertypen:

Fehlername beschreiben
Fehlerauswertung In der Funktion eval() ist ein Fehler aufgetreten.
Bereichsfehler Es ist ein Fehler außerhalb des zulässigen Bereichs aufgetreten
ReferenzFehler Es liegt ein unzulässiger Verweis vor
Syntaxfehler Es ist ein Syntaxfehler aufgetreten
TypFehler Es ist ein Typfehler aufgetreten
URIError In encodeURI() ist ein Fehler aufgetreten

Fehler hat zwei Haupteigenschaften:

Eigentum beschreiben
Name Festlegen oder Zurückgeben des Fehlernamens
Nachricht Legt eine Fehlermeldung (einen String) fest oder gibt sie zurück.

Das Syntaxformat zum Erstellen einer Instanz eines Fehlerobjekts lautet wie folgt:

neuer Fehler([Nachricht)

Parameter:

message : optional, beschreibt die Fehlermeldung

Die Erstellungssyntax anderer vordefinierter Typen ist die gleiche wie bei Error

3.1 Benutzerdefinierte Ausnahmetypen

Wenn der von JavaScript bereitgestellte Ausnahmetyp uns nicht zufriedenstellt, können wir unseren eigenen Ausnahmetyp anpassen. Dieser benutzerdefinierte Ausnahmetyp erbt im Allgemeinen den Fehlerausnahmetyp, und instanceof kann verwendet werden, um den Ausnahmetyp anzugeben.

Sehen wir uns zunächst die in Node.js bereitgestellten Eigenschaften und Methoden für benutzerdefinierte Ausnahmetypen an.

Wie unten dargestellt:

error.stack : Eigenschaft: Gibt einen String zurück, dessen erste Zeile als <error class name>: <error message>, mit einer Reihe von Stack-Frames formatiert ist (jede Zeile beginnt mit „at “). Jeder Frame beschreibt einen Aufrufpunkt im Code, der die Fehlergenerierung verursacht hat.
Methode Error.captureStackTrace(targetObject[, constructorOpt]) : targetObject stellt ein Objekt dar und constructorOpt stellt den Konstruktor des Objekts dar. Zweck: Erstellen Sie ein .stack-Attribut auf targetObject

Der Beispielcode lautet wie folgt:

Funktion MyError(Nachricht) {
  this.message = Nachricht
  this.name = "MeinFehler"
  /*
   * Fehler.captureStackTrace(Zielobjekt[, KonstruktorOpt])
   * Parameter targetObject -> stellt ein Objekt dar * Parameter constructorOpt -> stellt den Konstruktor des Objekts dar * Erstellen Sie eine .stack-Eigenschaft für targetObject, und der Aufruf gibt eine Zeichenfolge mit dem Speicherort zurück, an dem Error.captureStackTrace() aufgerufen wird.
   */
  Error.captureStackTrace(dies, MeinFehler)
}

MyError.prototype = neuer Fehler()
MeinFehler.prototype.constructor = MeinFehler

// * In der node.js-Umgebung wird durch new Error direkt eine Ausnahme ausgelöst. Dies ist auf die node.js-Umgebung nicht anwendbar. // function MyError(message) {
// this.name = "MeinFehler";
// this.message = message || 'Standardnachricht';
// dieser.stack = (neuer Fehler()).stack;
// }
// MeinError.prototype = Object.create(Error.prototype);
// MeinFehler.prototype.constructor = MeinFehler;

versuchen {
  wirf einen neuen MyError('falsch')
} fangen (e) {
  console.log(e)
}

Abschluss:

Die Ausnahmebehandlung in JavaScript bewirkt in der eigentlichen Entwicklung im Allgemeinen nur zwei Dinge:

  • Ausnahmen für Eingabeaufforderungsnachrichten ändern
  • Geben Sie die Ausnahme im Ausnahmeprotokoll aus, um die Fehlerinformationen anzuzeigen.

Dies ist das Ende dieses Artikels über erweiterte benutzerdefinierte Ausnahmen in JavaScript. Weitere relevante Inhalte zu benutzerdefinierten Ausnahmen in JavaScript finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Springboot2.0 verarbeitet benutzerdefinierte Ausnahmen und gibt JSON zurück
  • Detaillierte Verwendung der Java-Konstruktionsmethode „Super“ und der benutzerdefinierten Ausnahme-Throw-Sammlung

<<:  So lösen Sie das Problem der Linksausrichtung der letzten Zeile im Flex-Layout „space-between“

>>:  Warum der CSS-Attributwert clear:right im Detail nicht funktioniert

Artikel empfehlen

Detaillierte Schritte zum Einrichten eines Nexus-Servers

1. Die Bedeutung des Aufbaus eines Nexus-Dienstes...

JavaScript implementiert den detaillierten Prozess der Stapelstruktur

Inhaltsverzeichnis 1. Die Stapelstruktur verstehe...

Beschreiben Sie kurz die vier Transaktionsisolationsebenen von MySql

Isolationsstufe: Isolation ist komplizierter als ...

Vier Möglichkeiten zum Wechseln von Registerkarten in VUE

Inhaltsverzeichnis 1. Statische Implementierungsm...

Implementierung eines einfachen Rechners mit Javascript

In diesem Artikelbeispiel wird der spezifische Ja...

Lösen Sie den Konflikt zwischen Docker und VMware

1. Docker-Startproblem: Problem gelöst: Sie müsse...

Beispielerklärung von MySQL-Fremdschlüsseleinschränkungen

Die Fremdschlüsseleinschränkung von MySQL dient z...

Lösung zur Deinstallation von Python und Yum im CentOs-System

Hintergrund des Unfalls: Vor einigen Tagen habe i...

Installationstutorial für Docker unter Linux

Das Docker-Paket ist bereits im Standard-Reposito...