Rumah > Java > javaTutorial > Balingan dan tangkapan pengecualian yang betul di Jawa

Balingan dan tangkapan pengecualian yang betul di Jawa

WBOY
Lepaskan: 2024-04-30 18:36:02
asal
1054 orang telah melayarinya

Pengendalian pengecualian dalam Java termasuk membaling dan menangkap pengecualian untuk memastikan keteguhan kod. Pengecualian lontaran: gunakan kata kunci lontaran untuk membuang jenis pengecualian yang diisytiharkan dalam tandatangan kaedah tangkapan: gunakan blok tangkapan cuba untuk menangkap jenis pengecualian tertentu dan lakukan pengendalian ralat yang sesuai: hanya lemparkan pengecualian yang tidak dijangka dan tangkap pengecualian tertentu. elakkan menggunakan jenis yang luas dan berikan maklum balas yang berguna.

Balingan dan tangkapan pengecualian yang betul di Jawa

Membaling dan menangkap pengecualian yang betul dalam Java

Pengecualian ialah ralat atau situasi luar biasa yang berlaku semasa pelaksanaan program. Melempar dan menangkap pengecualian dengan betul adalah penting untuk menulis kod yang mantap dan boleh dipercayai.

Melempar pengecualian

Apabila pengecualian dikesan dalam kaedah, ia boleh dilemparkan menggunakan kata kunci lempar. Jenis pengecualian yang dilemparkan mestilah jenis yang diisytiharkan secara eksplisit dalam tandatangan kaedah. throw关键字抛出它。抛出的异常类型必须是方法签名中显式声明的类型。

public void divide(int x, int y) throws ArithmeticException {
    if (y == 0) {
        throw new ArithmeticException("除数不能为0");
    }
    int result = x / y;
    ...
}
Salin selepas log masuk

捕获异常

使用try-catch块捕获异常。try块包含可能抛出异常的代码,而catch块捕获特定类型的异常。

try {
    divide(10, 0);
} catch (ArithmeticException e) {
    System.err.println("发生除数为0的异常:" + e.getMessage());
}
Salin selepas log masuk

注意事项

  • 应仅抛出未期望的异常,并且这些异常应代表程序逻辑错误。
  • 捕获的异常应特定于所处理的错误。避免使用ExceptionThrowable等过于宽泛的类型。
  • 捕获异常后,应执行适当的错误处理,例如打印错误信息、记录日志或终止程序等。

实战案例

考虑一个读取文件并从中提取数据的程序。如果无法读取文件,则会抛出一个FileNotFoundException

try {
    // 读取文件
    Scanner scanner = new Scanner(new File("data.txt"));
    ...
} catch (FileNotFoundException e) {
    System.err.println("找不到文件:" + e.getMessage());
    // 错误处理,例如终止程序
}
Salin selepas log masuk

Tangkap pengecualian

🎜🎜Tangkap pengecualian menggunakan blok cuba tangkap. Blok try mengandungi kod yang mungkin membuang pengecualian, manakala blok catch menangkap jenis pengecualian tertentu. 🎜rrreee🎜🎜Nota🎜🎜
  • Hanya pengecualian yang tidak dijangka harus dilemparkan dan pengecualian ini harus mewakili ralat logik program.
  • Pengecualian yang ditangkap hendaklah khusus untuk ralat yang dikendalikan. Elakkan menggunakan jenis yang terlalu luas seperti Exception atau Throwable.
  • Selepas menangkap pengecualian, pengendalian ralat yang sesuai harus dilakukan, seperti mencetak maklumat ralat, pengelogan atau menamatkan program.
🎜🎜Contoh Praktikal🎜🎜🎜Pertimbangkan program yang membaca fail dan mengekstrak data daripadanya. Jika fail tidak boleh dibaca, pengecualian FileNotFoundException akan dilemparkan. 🎜rrreee🎜Dengan melontar dan menangkap pengecualian dengan betul, program boleh menangani ralat dengan anggun dan memberikan maklum balas yang berguna kepada pengguna akhir. 🎜

Atas ialah kandungan terperinci Balingan dan tangkapan pengecualian yang betul di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan