Dalam pengaturcaraan Java, pengecualian adalah situasi biasa. Salah satu pengecualian biasa ialah NoSuchMethodException. NoSuchMethodException biasanya berlaku apabila pengkompil tidak dapat mencari kaedah atau pembina tertentu. Artikel ini akan meneroka punca NoSuchMethodException dan cara mengendalikannya.
Punca NoSuchMethodException
NoSuchMethodException biasanya berlaku di bawah keadaan berikut:
NoSuchMethodException pengendalian pengecualian
Apabila kita menghadapi pengecualian NoSuchMethodException, berikut adalah beberapa kaedah untuk mengendalikan pengecualian:
try { Class<?> c = Class.forName("com.example.MyClass"); Method method = c.getDeclaredMethod("myMethod", String.class); Object obj = c.newInstance(); method.invoke(obj, "Hello"); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); }
Dalam contoh kod di atas, kami menggunakan objek Kelas untuk mendapatkan kaedah myMethod dan memanggil kaedah tersebut. Jika kaedah yang ditentukan tidak wujud atau senarai parameter tidak sepadan, NoSuchMethodException akan dilemparkan.
Kesimpulan
NoSuchMethodException biasanya berlaku apabila pengkompil tidak dapat mencari kaedah atau pembina tertentu. Kita boleh mengendalikan pengecualian ini dengan menyemak nama kaedah, parameter, laluan kelas dan menaik taraf kod. Sebagai alternatif, kita boleh menggunakan refleksi untuk menyelesaikan tugasan ini. Apabila mengendalikan pengecualian NoSuchMethodException, kita mesti menggali kod dan melakukan penyahpepijatan yang sesuai untuk menyelesaikan masalah.
Atas ialah kandungan terperinci Bagaimana untuk berurusan dengan NoSuchMethodException di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!