Heim Java JavaInterview Fragen 2020 Neue Java-Interviewfragen – Ausnahme

2020 Neue Java-Interviewfragen – Ausnahme

Jun 17, 2020 pm 05:12 PM
java 异常 面试题

2020 Neue Java-Interviewfragen – Ausnahme

1. Was ist der Unterschied zwischen Wurf und Würfen?

throws wird verwendet, um alle Ausnahmeinformationen zu deklarieren, die eine Methode auslösen kann, um die Ausnahme zu deklarieren, sie jedoch nicht zu behandeln. Stattdessen wird die Ausnahme hochgeladen und derjenige, der sie aufruft, behandelt. Throw bezieht sich auf einen bestimmten Ausnahmetyp, der ausgelöst wird.

2. Was ist der Unterschied zwischen „final“, „finally“ und „finalize“?

final kann Klassen, Variablen und Methoden ändern. Eine geänderte Klasse bedeutet, dass die Klasse nicht vererbt werden kann, eine geänderte Methode bedeutet, dass die Methode nicht überschrieben werden kann, und eine geänderte Variable bedeutet, dass die Variable eine Konstante ist kann nicht neu zugewiesen werden.

finally funktioniert im Allgemeinen im Try-Catch-Codeblock. Bei der Behandlung von Ausnahmen fügen wir normalerweise die Codemethode ein, die ausgeführt werden muss, was bedeutet, dass der Codeblock unabhängig davon ausgeführt wird, ob ein Ausnahme tritt im Allgemeinen auf. Wird zum Speichern von Code zum Schließen von Ressourcen verwendet.

(Empfohlenes Video-Tutorial: Java-Video-Tutorial )

finalize ist eine Methode, die zur Object-Klasse gehört, und die Object-Klasse ist die übergeordnete Klasse aller Klassen. Die Methode wird im Allgemeinen vom Garbage Collector aufgerufen. Wenn wir die gc()-Methode des Systems aufrufen, ruft der Garbage Collector finalize() auf, um Müll zu sammeln.

3. Welcher Teil von try-catch-finally kann weggelassen werden?

Antwort: Catch kann weggelassen werden

Grund:

Eine strengere Aussage lautet eigentlich: Try ist nur für die Behandlung von Laufzeitausnahmen geeignet, Try + Catch ist geeignet zur Behandlung von Laufzeitausnahmen. Zeitausnahme + gewöhnliche Ausnahme. Mit anderen Worten: Wenn Sie versuchen, normale Ausnahmen nur zu behandeln, ohne Catch zu verwenden, wird die Kompilierung nicht erfolgreich sein, da der Compiler streng vorschreibt, dass Sie, wenn Sie sich für das Abfangen gewöhnlicher Ausnahmen entscheiden, Catch verwenden müssen, um sie explizit für die weitere Verarbeitung zu deklarieren. Es gibt keine solche Bestimmung für Laufzeitausnahmen zur Kompilierungszeit, daher kann Catch weggelassen werden, und es ist nichts Falsches daran, den Catch-Compiler hinzuzufügen.

Theoretisch ist der Compiler mit jedem Code unzufrieden und denkt, dass es potenzielle Probleme geben könnte. Selbst wenn Sie dem gesamten Code Try hinzufügen, wird der Code nur während der Laufzeit normal ausgeführt. Fügen Sie eine Skin-Ebene hinzu. Aber sobald Sie try zu einem Codeteil hinzufügen, versprechen Sie dem Compiler ausdrücklich, die Ausnahmen abzufangen, die von diesem Codeteil ausgelöst werden können, anstatt sie nach oben zu werfen. Wenn es sich um eine normale Ausnahme handelt, verlangt der Compiler, dass sie zur weiteren Verarbeitung mit „catch“ abgefangen werden muss; wenn es sich um eine Laufzeitausnahme handelt, wird sie abgefangen und dann verworfen und schließlich verarbeitet, oder es wird ein „catch“ zur weiteren Verarbeitung hinzugefügt.

Was schließlich das Hinzufügen betrifft, handelt es sich um einen „Aufräumvorgang“, der unabhängig davon durchgeführt werden muss, ob eine Ausnahme abgefangen wird oder nicht.

(empfohlene verwandte Tutorials: Java-Eingabeprogramm)

4. Wenn es in try-catch-finally eine Rückkehr gibt, wird es endlich noch hingerichtet werden?

Antwort: Es wird vor der Rückkehr ausgeführt.

Codebeispiel 1:

 
/*
 * java面试题--如果catch里面有return语句,finally里面的代码还会执行吗?
 */
public class FinallyDemo2 {
    public static void main(String[] args) {
        System.out.println(getInt());
    }
 
    public static int getInt() {
        int a = 10;
        try {
            System.out.println(a / 0);
            a = 20;
        } catch (ArithmeticException e) {
            a = 30;
            return a;
            /*
             * return a 在程序执行到这一步的时候,这里不是return a 而是 return 30;这个返回路径就形成了
             * 但是呢,它发现后面还有finally,所以继续执行finally的内容,a=40
             * 再次回到以前的路径,继续走return 30,形成返回路径之后,这里的a就不是a变量了,而是常量30
             */
        } finally {
            a = 40;
        }
 
//      return a;
    }
}
Nach dem Login kopieren

Ausführungsergebnis: 30

Codebeispiel 2:

 
package com.java_02;
 
/*
 * java面试题--如果catch里面有return语句,finally里面的代码还会执行吗?
 */
public class FinallyDemo2 {
    public static void main(String[] args) {
        System.out.println(getInt());
    }
 
    public static int getInt() {
        int a = 10;
        try {
            System.out.println(a / 0);
            a = 20;
        } catch (ArithmeticException e) {
            a = 30;
            return a;
            /*
             * return a 在程序执行到这一步的时候,这里不是return a 而是 return 30;这个返回路径就形成了
             * 但是呢,它发现后面还有finally,所以继续执行finally的内容,a=40
             * 再次回到以前的路径,继续走return 30,形成返回路径之后,这里的a就不是a变量了,而是常量30
             */
        } finally {
            a = 40;
            return a; //如果这样,就又重新形成了一条返回路径,由于只能通过1个return返回,所以这里直接返回40
        }
 
//      return a;
    }
}
Nach dem Login kopieren

Ausführungsergebnis: 40

5. Was sind die häufigsten Ausnahmetypen?

  • NullPointerException: Diese Ausnahme wird ausgelöst, wenn die Anwendung versucht, auf ein Nullobjekt zuzugreifen.

  • SQLException: Ausnahme, die Informationen über Datenbankzugriffsfehler oder andere Fehler liefert.

  • IndexOutOfBoundsException: Wird ausgelöst, wenn angezeigt wird, dass ein Sortierindex (z. B. Sortieren eines Arrays, einer Zeichenfolge oder eines Vektors) außerhalb des gültigen Bereichs liegt.

  • NumberFormatException: Diese Ausnahme wird ausgelöst, wenn die Anwendung versucht, eine Zeichenfolge in einen numerischen Typ zu konvertieren, die Zeichenfolge jedoch nicht in das entsprechende Format konvertiert werden kann.

  • FileNotFoundException: Diese Ausnahme wird ausgelöst, wenn ein Versuch, die durch den angegebenen Pfadnamen dargestellte Datei zu öffnen, fehlschlägt.

  • IOException: Diese Ausnahme wird ausgelöst, wenn eine Art E/A-Ausnahme auftritt. Diese Klasse ist eine allgemeine Klasse für Ausnahmen, die durch fehlgeschlagene oder unterbrochene E/A-Vorgänge generiert werden.

  • ClassCastException: Diese Ausnahme wird ausgelöst, wenn versucht wird, ein Objekt in eine Unterklasse umzuwandeln, die keine Instanz ist.

  • ArrayStoreException: Ausnahme, die beim Versuch ausgelöst wird, ein Objekt des falschen Typs in einem Objektarray zu speichern.

  • IllegalArgumentException: Eine ausgelöste Ausnahme, die darauf hinweist, dass ein unzulässiger oder falscher Parameter an die Methode übergeben wurde.

  • ArithmeticException: Diese Ausnahme wird ausgelöst, wenn abnormale Betriebsbedingungen auftreten. Wenn beispielsweise eine Ganzzahl „durch Null geteilt“ wird, wird eine Instanz dieser Klasse ausgelöst.

  • NegativeArraySizeException: Diese Ausnahme wird ausgelöst, wenn die Anwendung versucht, ein Array mit einer negativen Größe zu erstellen.

  • NoSuchMethodException: Diese Ausnahme wird ausgelöst, wenn eine bestimmte Methode nicht gefunden werden kann.

  • SecurityException: Ausnahme, die vom Sicherheitsmanager ausgelöst wird, um auf eine Sicherheitsverletzung hinzuweisen.

  • UnsupportedOperationException: Diese Ausnahme wird ausgelöst, wenn der angeforderte Vorgang nicht unterstützt wird.

  • RuntimeExceptionRuntimeException: ist die Superklasse von Ausnahmen, die während des normalen Betriebs der Java Virtual Machine ausgelöst werden können.

Wenn Sie mehr über Interviewfragen erfahren möchten, besuchen Sie bitte Java-Interviewfragen.

Das obige ist der detaillierte Inhalt von2020 Neue Java-Interviewfragen – Ausnahme. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Quadratwurzel in Java Quadratwurzel in Java Aug 30, 2024 pm 04:26 PM

Leitfaden zur Quadratwurzel in Java. Hier diskutieren wir anhand eines Beispiels und seiner Code-Implementierung, wie Quadratwurzel in Java funktioniert.

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Armstrong-Zahl in Java Armstrong-Zahl in Java Aug 30, 2024 pm 04:26 PM

Leitfaden zur Armstrong-Zahl in Java. Hier besprechen wir eine Einführung in die Armstrong-Zahl in Java zusammen mit einem Teil des Codes.

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

See all articles