Rumah >Java >javaTutorial >Bagaimana untuk menyelesaikan pengecualian invocation kaedah Java (MethodInvocationException)
Cara menyelesaikan pengecualian invocation kaedah Java (MethodInvocationException)
Dalam pengaturcaraan Java, kita sering menghadapi pelbagai situasi yang tidak normal. Salah satu pengecualian biasa ialah "MethodInvocationException", yang biasanya berlaku semasa permohonan kaedah dan boleh menyebabkan program gagal atau menyebabkan ralat. Artikel ini menerangkan cara menyelesaikan pengecualian ini dan menyediakan beberapa contoh kod.
MethodInvocationException ialah pengecualian yang dilemparkan oleh enjin templat Freemarker Ia menunjukkan bahawa ralat berlaku semasa memanggil kaedah Java dalam fail templat. Apabila kita memanggil kaedah dalam fail templat, jika pengecualian berlaku dalam kaedah, Freemarker akan menangkap dan membuang pengecualian dalam bentuk MethodInvocationException.
Kaedah untuk menyelesaikan pengecualian ini terutamanya termasuk langkah-langkah berikut:
Berikut ialah contoh kod yang menunjukkan cara menyelesaikan pengecualian MethodInvocationException:
public class Example { public String hello() { return "Hello, World!"; } public static void main(String[] args) { Configuration configuration = new Configuration(Configuration.VERSION_2_3_30); try { configuration.setClassForTemplateLoading(Example.class, "/"); Template template = configuration.getTemplate("example.ftl"); Map<String, Object> data = new HashMap<>(); data.put("example", new Example()); StringWriter writer = new StringWriter(); template.process(data, writer); System.out.println(writer.toString()); } catch (IOException e) { e.printStackTrace(); } catch (TemplateException e) { if (e instanceof MethodInvocationException) { Throwable cause = ((MethodInvocationException) e).getCause(); System.err.println("Root Cause: " + cause.getMessage()); cause.printStackTrace(); } else { e.printStackTrace(); } } } }
Dalam kod sampel di atas, kami memanggil kaedah helo kelas Contoh dalam fail templat example.ftl. Jika pengecualian berlaku semasa panggilan kaedah, kami akan mengeluarkan maklumat pengecualian pada konsol dan mencetak surih tindanan pengecualian asas.
Melalui langkah di atas, kami boleh memahami dan menyelesaikan pengecualian MethodInvocationException dengan lebih baik. Apabila kita menghadapi pengecualian sedemikian, kita perlu terlebih dahulu menentukan punca pengecualian dan teliti melihat surih tindanan pengecualian itu. Kemudian, kita boleh menyemak sama ada parameter panggilan kaedah adalah betul, dan menyemak serta mengubah suai logik kod panggilan. Akhir sekali, kami boleh melakukan kerja penyahpepijatan dan pembaikan yang sepadan berdasarkan maklumat pengecualian.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan pengecualian invocation kaedah Java (MethodInvocationException). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!