Heim >häufiges Problem >Was tun, wenn die API-Schnittstelle abnormal ist?
Ausnahme:
Anormale Situationen, die während der Programmentwicklung auftreten, sind Ausnahmen. Beispielsweise ist der Divisor 0, der Parameter ist null, die Mitgliedsvariable oder Methode des Parameters wird aufgerufen und der Array-Index liegt außerhalb der Grenzen.
Ausnahmen werden in zwei Haupttypen unterteilt:
(1) Ausnahme: Programmierer können Folgendes lösen: Nullzeiger, Divisor ist 0, Array-Index außerhalb der Grenzen.
(2) Fehler: etwas, das Programmierer nicht lösen können: etwa ein Speicherüberlauf.
Throwable ist die übergeordnete Klasse dieser beiden Typen
Ausnahmeklassifizierung:
Klassifizierung danach, ob der Compiler prüft:
非检查性异常:也称之为运行时异常,即编译器在检查语法期间,不做异常检查。 检查性异常:也称之为编译时异常,此时,编译器会强制检查语法中的异常情况。如有异常,在编译期需要做异常处理。
Ausnahmestruktur:
RuntimeException: NullPointerException ArrayIndexOutOfBoundsException ClassCastException IllegalArgumentExcetion NumberFormatException IOException: EOFException FileNotFoundException
Ausnahmebehandlung:
(1) Wenn eine Ausnahme auftritt, beenden Sie das Programm.
(2) Wenn eine Ausnahme auftritt, verwenden wir einen Verarbeitungsmechanismus, um die Ausnahme zu behandeln. Das Programm muss nicht beendet werden.
体验度:尽可能的选择异常处理机制。
Ausnahmebehandlungsmechanismus:
Grundidee:
Versuchen Sie, im Codeblockbereich, in dem Ausnahmen auftreten können, zu überprüfen, ob Ausnahmeinformationen auftreten ein Objekt eines bestimmten Ausnahmetyps und erfassen und behandeln es dann.
Verwandte Empfehlungen: „FAQ“
try{ 可能出现异常的代码块 /*如果有异常,jvm会将异常信息,封装成对象 将地址信息赋值给catch中的形参 */ }catch(Exception e){ 进行处理e }
Mehrere Catch-Anweisungsblöcke:
Wenn wir versuchen, Ausnahmeobjekte zu erfassen, möchten wir dies beim Umgang mit unterschiedlichen Um Ausnahmeobjekte separat zu verarbeiten, müssen mehrere Catch-Anweisungsblöcke verwendet werden.
Erklärung: Wenn in try eine Ausnahmemeldung auftritt, wird der nachfolgende Teil des Codeblocks in try nicht ausgeführt. Geben Sie den entsprechenden Catch-Code-Block ein, um die Verarbeitung durchzuführen.
Bei mehreren Catch-Anweisungsblöcken ist die Reihenfolge des Schreibens der von Catch behandelten Ausnahmetypen:
Schreiben Sie zuerst den Ausnahmetyp der Unterklasse und dann die Ausnahme der übergeordneten Klasse.
throw: Schlüsselwort throw, Ausnahmen, die bei dieser Methode auftreten, werden nicht von Try-Catch behandelt.
Stattdessen wird es zur Verarbeitung an den Anrufer weitergeleitet. Das Schlüsselwort throw muss verwendet werden.
throws: deklariert das Ausnahmeschlüsselwort, das normalerweise bei der Definition von Methoden verwendet wird, um den Aufrufer zu benachrichtigen.
(1)当throw的异常对象为检查性异常,方法上必须throws此异常类型。 (2)如果throw的异常对象为非检查性异常,方法上不必throws此异常类型。
Verwendung von Würfen beim Überschreiben der Methode
Möglich:
(1)可以相同。 (2)可以是部分。 (3)异常的子类型可行,也可以是多个子类型。
Nicht möglich:
(1)不同的异常类型,也不可以多声明不同类型的异常类型。 (2)异常的父类型不行。
schließlich:
bietet einen einheitlichen Exit für Try-Catch. Unabhängig davon, ob in den Try- und Catch-Anweisungsblöcken eine Ausnahme auftritt, wird der Codeblock in „finally“ ausgeführt.
wird normalerweise verwendet, um Vorgänge wie das Schließen einiger Ressourcen abzuwickeln:
Zum Beispiel: Schließvorgänge beim Lesen von Dateien oder Löschen temporärer Dateien
finally-Anweisungsblock ist optional.
Wenn die Anweisung eine Rückgabe enthält, führen Sie sie zuerst nacheinander aus. Wenn eine Rückgabe auftritt, unterbrechen Sie zuerst den Rückgabewert, führen Sie dann abschließend den Codeblock aus und führen Sie dann die Rückgabe aus (wenn keine Rückgabe vorhanden ist). schließlich wird die Rücksendung nicht bearbeitet) Wert hat einen Einfluss)
Das obige ist der detaillierte Inhalt vonWas tun, wenn die API-Schnittstelle abnormal ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!