Rumah >Java >javaTutorial >Bagaimanakah Java Boleh Mengendalikan Pelbagai Pengecualian Secara serentak?
Pengendalian Serentak Berbilang Pengecualian Java
Dalam pengaturcaraan Java, selalunya perlu untuk mengendalikan pelbagai pengecualian yang mungkin berlaku semasa pelaksanaan kod . Secara tradisinya, setiap jenis pengecualian perlu ditangkap secara individu menggunakan blok tangkapan yang berasingan. Walau bagaimanapun, sejak Java 7, adalah mungkin untuk menangkap berbilang pengecualian dalam klausa tangkapan yang sama.
Blok Berbilang Tangkapan
Sintaks untuk blok berbilang tangkapan dalam Java adalah seperti berikut:
try { // Code that may throw exceptions } catch (ExceptionTypeA | ExceptionTypeB | ExceptionTypeC ... e) { // Code to handle all caught exceptions }
Dalam blok ini, pengecualian yang disenaraikan menggunakan simbol paip (|) dikendalikan secara serentak. Apabila pengecualian dilemparkan semasa pelaksanaan blok cuba dan sepadan dengan mana-mana jenis yang disenaraikan, kawalan dipindahkan ke blok tangkapan.
Contoh
Sebagai contoh, bukannya menggunakan:
try { // Code that may throw IllegalArgumentException, SecurityException, // IllegalAccessException, or NoSuchFieldException } catch (IllegalArgumentException e) { // Code to handle IllegalArgumentException } catch (SecurityException e) { // Code to handle SecurityException } catch (IllegalAccessException e) { // Code to handle IllegalAccessException } catch (NoSuchFieldException e) { // Code to handle NoSuchFieldException }
Anda boleh menggunakan blok berbilang tangkapan untuk memudahkan pengendalian pengecualian:
try { // Code that may throw IllegalArgumentException, SecurityException, // IllegalAccessException, or NoSuchFieldException } catch (IllegalArgumentException | SecurityException | IllegalAccessException | NoSuchFieldException e) { // Code to handle all caught exceptions }
Pertimbangan Penting
Adalah penting untuk ambil perhatian bahawa semua pengecualian yang anda ingin kendalikan dalam blok berbilang tangkapan mestilah tergolong dalam hierarki kelas yang sama. Ini bermakna bahawa mereka mesti sama ada subkelas superclass yang sama atau melaksanakan antara muka yang sama.
Selain itu, jika anda perlu membezakan antara beberapa pengecualian yang ditangkap dalam pengendali blok tangkapan, anda boleh menggunakan operator instanceof untuk menyemak jenis khusus pengecualian yang ditangkap.
Atas ialah kandungan terperinci Bagaimanakah Java Boleh Mengendalikan Pelbagai Pengecualian Secara serentak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!