Jadual Kandungan
前言
异常分类
Error和Exception类
异常处理
Rumah Java javaTutorial java中异常及异常处理的内容讲解(图文)

java中异常及异常处理的内容讲解(图文)

Sep 18, 2018 pm 05:13 PM
catch java throw tidak normal Pengendalian pengecualian

本篇文章给大家带来的内容是关于java中异常及异常处理的内容讲解(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

前言

  1. 概述:异常就是java程序在运行过程中出现的错误。

  2. 异常发生时如何处理,java提供了解决办法:异常处理机制。

  3. java中的异常可以是函数中的语句执行时引发的,也可以是程序员通过throw语句手动抛出。

  4. 只要在java程序中产生了异常,就会用一个对应类型的异常对象来封装异常,JRE会试图寻找异常处理程序来处理异常。

  5. JDK中内建类一些常见的异常类,我们也可以自定义异常。

  6. Throwable类是java异常类型的顶层父类,一个对象只有是Throwable类的直接或间接实例,他才是一个异常对象,才能被异常处理机制识别。

异常分类

检查性异常:

(1)最具代表性的检查性异常是用户错误或问题引起的异常,这是程序员无法预测的。
(2)例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单的忽略。

运行时异常:

(1)运行时异常是可能被程序员避免的异常。
(2)与检查性异常相反,运行时异常可以在编译时被忽略。

错误:

(1)错误不是异常,而是脱离程序员控制的问题。
(2)错误在代码中通常被忽略。
(3)例如,当栈溢出时,一个错误就发生了,它们在编译时也是检查不到的。

异常分类图解:

1052220856-5b9a1386a2c23_articlex.png

Error和Exception类

java标准库内建了一些通用的异常,这些类以Throwable为顶层父类。

Throwable又派生出Error类和Exception类。

Error类:

(1)Error类以及他的子类的实例,代表了JVM本身的错误。
(2)错误不能被程序员通过代码处理,Error很少出现。
(3)因此,程序员应该关注Exception为父类的分支下的各种异常类

Exception类:

(1)Exception及他的子类,代表程序运行时发送的各种不期望发生的事件。
(2)可以被java异常处理机制使用,是异常处理的核心。

异常处理

异常处理机制能让程序在发生异常时,按照代码预先设定的异常处理逻辑,针对性的处理异常,让程序尽最大可能的恢复正常并继续执行,且保持代码的清晰。

java中,异常处理的任务就是将执行控制流从异常发生的地方转移到能够处理这种异常的地方去。

在编写代码处理异常时,对于检查异常,有两种处理方式:

(1)使用try...catch...finally语句块处理
(2)在函数签名中使用throws声明交给函数调用者caller去解决

try...catch...finally语句块:

(1)try块中放可能发生异常的代码;
(2)如果执行完try并且不发生异常,则接着去执行finally块代码以及finally之后的代码;
(3)如果执行try中代码发生异常,就会尝试匹配catch块;
(4)每一个catch块用于处理一个异常;
(5)异常匹配是按照catch块的顺序从上往下寻找的,只有第一个会匹配到的catch块会被执行。
(6)try块中的局部变量和catch块中的局部变量,以及finally中的局部变量,它们之间不可以共享使用;
(7)finally块不管异常是否发生,只要对应的try块执行了,它一定会执行。
(8)finally块通常用来做资源释放操作,关闭文件或者关闭数据库等操作。

throws/throw:

(1)如果一个方法没有捕获到一个检查性异常,那么该方法必须使用 throws 关键字来声明。
(2)throws 关键字放在方法签名的尾部。
(3)throws仅仅是将函数中可能出现的异常向调用者声明,而自己并不处理异常。
(4)采用这种异常处理的原因可能是:方法本身不知道如何处理这种异常,或者说让调用者处理更好,调用者需要为可能发生的异常负责。
(5)也可以使用 throw 关键字手动抛出一个异常,无论它是新实例化的还是刚捕获到的。
(6)throw语句的后面必须是一个异常对象。

Atas ialah kandungan terperinci java中异常及异常处理的内容讲解(图文). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Nombor Sempurna di Jawa Nombor Sempurna di Jawa Aug 30, 2024 pm 04:28 PM

Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Weka di Jawa Weka di Jawa Aug 30, 2024 pm 04:28 PM

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Nombor Smith di Jawa Nombor Smith di Jawa Aug 30, 2024 pm 04:28 PM

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Soalan Temuduga Java Spring Soalan Temuduga Java Spring Aug 30, 2024 pm 04:29 PM

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Bagaimanakah anda mengendalikan pengecualian dengan berkesan dalam PHP (cuba, menangkap, akhirnya, membuang)? Bagaimanakah anda mengendalikan pengecualian dengan berkesan dalam PHP (cuba, menangkap, akhirnya, membuang)? Apr 05, 2025 am 12:03 AM

Dalam PHP, pengendalian pengecualian dicapai melalui percubaan, menangkap, akhirnya, dan membuang kata kunci. 1) blok percubaan mengelilingi kod yang boleh membuang pengecualian; 2) Blok tangkapan mengendalikan pengecualian; 3) Akhirnya Blok memastikan bahawa kod itu sentiasa dilaksanakan; 4) Lemparan digunakan untuk membuang pengecualian secara manual. Mekanisme ini membantu meningkatkan keteguhan dan mengekalkan kod anda.

Cuti atau kembali dari Java 8 Stream Foreach? Cuti atau kembali dari Java 8 Stream Foreach? Feb 07, 2025 pm 12:09 PM

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

TimeStamp to Date in Java TimeStamp to Date in Java Aug 30, 2024 pm 04:28 PM

Panduan untuk TimeStamp to Date di Java. Di sini kita juga membincangkan pengenalan dan cara menukar cap waktu kepada tarikh dalam java bersama-sama dengan contoh.

Program Java untuk mencari kelantangan kapsul Program Java untuk mencari kelantangan kapsul Feb 07, 2025 am 11:37 AM

Kapsul adalah angka geometri tiga dimensi, terdiri daripada silinder dan hemisfera di kedua-dua hujungnya. Jumlah kapsul boleh dikira dengan menambahkan isipadu silinder dan jumlah hemisfera di kedua -dua hujungnya. Tutorial ini akan membincangkan cara mengira jumlah kapsul yang diberikan dalam Java menggunakan kaedah yang berbeza. Formula volum kapsul Formula untuk jumlah kapsul adalah seperti berikut: Kelantangan kapsul = isipadu isipadu silinder Dua jumlah hemisfera dalam, R: Radius hemisfera. H: Ketinggian silinder (tidak termasuk hemisfera). Contoh 1 masukkan Jejari = 5 unit Ketinggian = 10 unit Output Jilid = 1570.8 Unit padu menjelaskan Kirakan kelantangan menggunakan formula: Kelantangan = π × r2 × h (4

See all articles