Kami boleh membuat tersuai tanpa tandaException dengan melanjutkan RuntimeException di Java.
Tanpa tandaException mewarisi daripada kelas Error atau kelas RuntimeException. Ramai pengaturcara percaya bahawa kami tidak boleh mengendalikan pengecualian ini dalam program kami kerana ia mewakili jenis ralat yang tidak boleh dipulihkan semasa program sedang berjalan. Apabila pengecualian yang tidak ditandai dilemparkan, ia biasanya disebabkan oleh menyalahgunakan kod, melepasi null atau parameter yang salah lain.
Syntaxpublic class MyCustomException extends RuntimeException { public MyCustomException(String message) { super(message); } }
Pelaksanaan pengecualian tersuai yang tidak ditanda hampir serupa dengan pengecualian yang disemak di Java. Satu-satunya perbezaan ialah pengecualian yang tidak ditandai mesti memanjangkan RuntimeException dan bukannya Exception.
public class CustomUncheckedException extends RuntimeException { /* * Required when we want to add a custom message when throwing the exception * as throw new CustomUncheckedException(" Custom Unchecked Exception "); */ public CustomUncheckedException(String message) { // calling super invokes the constructors of all super classes // which helps to create the complete stacktrace. super(message); } /* * Required when we want to wrap the exception generated inside the catch block and rethrow it * as catch(ArrayIndexOutOfBoundsException e) { * throw new CustomUncheckedException(e); * } */ public CustomUncheckedException(Throwable cause) { // call appropriate parent constructor super(cause); } /* * Required when we want both the above * as catch(ArrayIndexOutOfBoundsException e) { * throw new CustomUncheckedException(e, "File not found"); * } */ public CustomUncheckedException(String message, Throwable throwable) { // call appropriate parent constructor super(message, throwable); } }
Atas ialah kandungan terperinci Bagaimana untuk membuat pengecualian tersuai yang tidak disemak di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!