Rumah > Java > javaTutorial > teks badan

Strategi penggunaan semula kod untuk pengendalian pengecualian dalam Java

WBOY
Lepaskan: 2024-05-01 08:42:02
asal
626 orang telah melayarinya

Strategi penggunaan semula kod untuk pengendalian pengecualian dalam Java: tangkap dan kendalikan pengecualian biasa (NullPointerException, IllegalArgumentException, IndexOutOfBoundsException, IOException). Gunakan blok cuba-tangkap untuk menangkap semua pengecualian. Gunakan blok tangkapan berasingan untuk pengecualian tertentu. Buat kelas pengecualian tersuai untuk mengendalikan pengecualian tersuai. Gunakan penggunaan semula kod untuk memudahkan pengendalian pengecualian, seperti merangkum pengendalian ralat ke dalam kaedah readFileWithErrorHandler dalam contoh bacaan fail.

Strategi penggunaan semula kod untuk pengendalian pengecualian dalam Java

Strategi Penggunaan Semula Kod untuk Pengendalian Pengecualian di Java

Cara berkesan untuk mengendalikan pengecualian dalam Java ialah penggunaan semula kod. Dengan menangkap dan mengendalikan pengecualian biasa, kami boleh memudahkan kod kami dan mengelakkan pengendalian manual yang tidak perlu.

Pengecualian biasa

Berikut ialah pengecualian yang paling biasa dalam Java:

  • NullPointerException
  • NullPointerException
  • IllegalArgumentException
  • IndexOutOfBoundsException
  • IOException

捕获和处理基本异常

最简单的代码复用方法是使用 try-catch 块:

try {
  // 代码可能抛出异常
} catch (Exception e) {
  // 处理异常
}
Salin selepas log masuk

这会捕获所有异常并执行指定的处理代码。

捕获特定异常

如果要处理特定的异常,可以使用多个 catch 块:

try {
  // 代码可能抛出异常
} catch (NullPointerException e) {
  // 处理 NullPointerException
} catch (IllegalArgumentException e) {
  // 处理 IllegalArgumentException
}
Salin selepas log masuk

创建自定义异常类

对于自定义异常,可以使用 Exception 类的子类:

public class MyCustomException extends Exception {
  // 自定义异常逻辑
}
Salin selepas log masuk

然后可以在代码中抛出和捕获自定义异常:

try {
  // 代码可能抛出自定义异常
} catch (MyCustomException e) {
  // 处理 MyCustomException
}
Salin selepas log masuk

实战示例

考虑以下文件读取示例:

public static void readFile(String filePath) throws IOException {
  BufferedReader reader = new BufferedReader(new FileReader(filePath));
  // 文件读取代码
  reader.close();
}
Salin selepas log masuk

此方法抛出 IOException,因为它可能因文件不存在或访问权限不足等问题而失败。

我们可以使用代码复用来简化错误处理:

public static void readFileWithErrorHandler(String filePath) {
  try {
    // 文件读取代码
    readFile(filePath);
  } catch (IOException e) {
    // 异常处理逻辑
  }
}

// 调用文件读取方法
readFileWithErrorHandler("file.txt");
Salin selepas log masuk

readFileWithErrorHandler 方法尝试调用 readFile 方法,并捕获任何抛出的 IOExceptionIllegalArgumentException

IndexOutOfBoundsException 🎜IOException🎜🎜Menangkap dan mengendalikan pengecualian asas🎜🎜🎜Cara paling mudah untuk menggunakan semula kod ialah menggunakan cuba- tangkap blok: 🎜rrreee🎜Ini akan menangkap semua pengecualian dan melaksanakan kod pengendalian yang ditentukan. 🎜🎜🎜Tangkap pengecualian khusus🎜🎜🎜Jika anda ingin mengendalikan pengecualian tertentu, anda boleh menggunakan berbilang blok catch: 🎜rrreee🎜🎜Buat kelas pengecualian tersuai🎜🎜🎜Untuk pengecualian tersuai, anda boleh menggunakan pengecualian tersuai Pengecualian kelas: 🎜rrreee🎜 Pengecualian tersuai kemudiannya boleh dibuang dan ditangkap dalam kod: 🎜rrreee🎜🎜Contoh dalam tindakan🎜🎜🎜Pertimbangkan contoh bacaan fail berikut: 🎜rrreee🎜Kaedah ini membuang IOException kerana ia mungkin gagal disebabkan masalah seperti ketiadaan fail atau kebenaran akses yang tidak mencukupi. 🎜🎜Kita boleh menggunakan penggunaan semula kod untuk memudahkan pengendalian ralat: 🎜rrreee🎜 Kaedah readFileWithErrorHandler cuba memanggil kaedah readFile dan menangkap mana-mana IOException yang dilemparkan >. 🎜

Atas ialah kandungan terperinci Strategi penggunaan semula kod untuk pengendalian pengecualian dalam Java. 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