Was ist der Unterschied zwischen Wurf und Wurfex in C # - Unterschied Zwischen

Was ist der Unterschied zwischen Wurf und Wurfex in C #

Das Hauptunterschied zwischen Wurf und Wurfex in C # ist das throw gibt Informationen darüber, von wo die Ausnahme ausgelöst wurde, und auch über die tatsächliche Ausnahme, während der Wurfex nur Informationen darüber enthält, von wo die Ausnahme ausgelöst wurde.

C # ist eine moderne universelle Programmiersprache. Es bietet zahlreiche Vorteile, z. B. Unterstützung für Multithreading, automatische Garbage Collection, Lambda-Ausdrücke, Ereignisse und vieles mehr. Eine Ausnahme ist ein Problem, das in einem Programm auftritt. Es kann die Ausführung des Programms stoppen. C # bietet Methoden zum Behandeln von Ausnahmen. Ein Programmierer kann die Schlüsselwörter try, catch, final und warf verwenden, um Ausnahmen zu behandeln. Er kann auch den Code platzieren, der eine Ausnahme innerhalb des try-Blocks verursachen kann. Der Fang zeigt den Fang einer Ausnahme an. Die abschließenden Anweisungen befinden sich innerhalb des finally-Blocks. Eine endgültige Blockierung ist jedoch nicht zwingend erforderlich. Mit dem Schlüsselwort throw kann ein Programm eine Ausnahme auslösen, wenn ein Problem auftritt. Ein weiterer Satz von Schlüsselwörtern ist "throw ex". Lassen Sie uns den Unterschied zwischen Wurf und Wurf ex sehen.

Wichtige Bereiche

1Was ist in C # werfen
      – Definition, Programm
2Was ist ein Wurf in C #
      – Definition, Programm
3Unterschied zwischen Wurf und Wurfex in C #
      – Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

C #, werfen, ex werfen


Was ist in C # werfen

Der Programmierer kann die throw-Anweisung im catch-Block verwenden, um die Ausnahme auszulösen, um die Ausnahme zu protokollieren. Verweisen Sie beispielsweise auf das unten stehende Programm.


Abbildung 1: C # -Programm mit Wurf

Es gibt eine Methode namens DivideByZero. Es akzeptiert einen ganzzahligen Parameter und dividiert diese Zahl durch Null. Im Hauptprogramm wird die DivideByZero-Methode innerhalb des try-Blocks aufgerufen. Es verursacht eine Ausnahme und der catch-Block wird ausgeführt. Da der catch-Block das Schlüsselwort throw hat, wird eine Ausnahme ausgelöst. Beim Beobachten der Ausgabe sehen wir die vollständigen Stack-Trace-Informationen. Es gibt Informationen darüber, von wo aus die Ausnahme ausgelöst wurde (Zeile 9) und wo die tatsächliche Ausnahme aufgetreten ist (Zeile 15).

Was ist ein Wurf in C #

Der Programmierer kann die Anweisung throw ex im catch-Block verwenden, um die Exception zu werfen, um die Exception ähnlich wie throw zu protokollieren, es besteht jedoch ein geringfügiger Unterschied.


Abbildung 2: C # -Programm mit throw ex

Es gibt eine Methode namens DivideByZero. Es akzeptiert einen ganzzahligen Parameter und dividiert diese Zahl durch Null. Im Hauptprogramm wird die DivideByZero-Methode innerhalb des try-Blocks aufgerufen. Es verursacht eine Ausnahme und der catch-Block wird ausgeführt. Da der catch-Block die Schlüsselwörter throw ex hat, wird eine Ausnahme ausgelöst. Wenn Sie die Ausgabe beobachten, können Sie sehen, dass sie Informationen darüber gibt, wo die Ausnahme ausgelöst wurde (Zeile 9). Es gibt jedoch nicht an, von wo aus die tatsächliche Ausnahme ausgelöst wurde. Daher liefert throw ex nicht alle Stack-Trace-Informationen.

Unterschied zwischen Wurf und Wurfex in C #

Definition

Während throw ein Schlüsselwort ist, mit dem das Auftreten einer Ausnahme während der Programmausführung identifiziert wird, ist throw ex ein Schlüsselwort in C #, mit dem Programmierer das Auftreten einer Ausnahme angeben können, durch die der Stack-Trace zurückgesetzt wird. Dies ist also der Hauptunterschied zwischen throw und throw ex in C #.

Stack-Trace-Informationen

Ein weiterer Unterschied zwischen "throw" und "throw ex" in C # besteht darin, dass "throw" vollständige Stack-Trace-Informationen liefert, während "throw ex" nicht alle Stack-Trace-Informationen bereitstellt.

Funktionalität

Darüber hinaus ist die Funktion auch ein wichtiger Unterschied zwischen Wurf und Wurfex in C #. Der Wurf setzt die Stack-Ablaufverfolgung nicht zurück, sodass der Programmierer Informationen über die tatsächliche Ausnahme erhalten kann. Throw ex setzt jedoch die Stack-Ablaufverfolgung zurück, sodass der Fehler in der Zeile erscheint, in die der throw-Ex geschrieben wurde.

Fazit

Sowohl Wurf- als auch Wurf-Ex hilft, Ausnahmen zu behandeln. Im Gegensatz zu throw ex liefert throw alle Stack-Informationen. Der Hauptunterschied zwischen "throw" und "throw ex" in C # besteht darin, dass "throw" Informationen darüber gibt, von wo aus die Ausnahme ausgelöst wurde, und auch über die tatsächliche Ausnahme, während "throw ex" nur Informationen darüber liefert, von wo die Ausnahme ausgelöst wurde. Kurz gesagt, es ist eine gute Programmierpraxis, "throw" anstelle von "throw ex" zu verwenden, da es genaue Stack-Informationen liefert.

Verweise:

1. "C # - Schlüsselwort werfen". TutorialsTeacher.com,