在 Java 中创建用户定义的自定义异常
除了 NullPointerException 或 ArithmeticException 之类的预定义异常,我们还可以在 Java 中创建用户定义的自定义异常。Throw
关键字和 try-catch
块生成自定义用户定义的异常。
本文介绍了如何在 Java 中创建自定义的用户定义异常。
Java 中的用户定义异常
预定义的 Java 异常几乎涵盖了程序中的所有异常,但有时需要创建我们的异常。用户定义的异常捕获并为预定义的 Java 异常的子集提供特定的处理。
该异常也可以是与工作流和业务逻辑相关的业务逻辑异常。要创建自定义的用户定义异常,我们必须首先了解确切的问题。
让我们尝试一个用户定义异常的示例。要创建用户定义的异常,首先,我们需要从 Java.lang 扩展 Exception 类。
例子:
package delftstack;
public class User_Defined_Exception{
public static void main(String args[]){
try{
throw new Custom_Exception(404);
}
catch(Custom_Exception e){
System.out.println(e);
e.printStackTrace();
}
}
}
class Custom_Exception extends Exception{
int code;
Custom_Exception(int status_code) {
code=status_code;
}
public String toString(){
return ("This is user defined exception to show the status code: "+code) ;
}
}
此代码将引发用户定义的字符串异常。
输出:
This is user defined exception to show the status code: 404
This is user defined exception to show the status code: 404
at delftstack.User_Defined_Exception.main(User_Defined_Exception.java:6)
用于检查 Java 中 ID 有效性的用户定义异常
让我们尝试另一个更以问题为中心的示例,例如检查 ID 的有效性。
如果用户输入 ID,我们将创建一个异常。如果数据库中不存在,则抛出无效 ID 异常。
例子:
package delftstack;
import java.util.*;
class InValid_ID extends Exception{
public InValid_ID(String ID) {
super(ID);
}
}
public class User_Defined_Exception{
//Method to find ID
static void find_ID(int input_array[], int ID) throws InValid_ID{
boolean condition = false;
for (int i = 0; i < input_array.length; i++) {
if(ID == input_array[i]) {
condition = true;
}
}
if(!condition){
throw new InValid_ID("The ID is you Entered is InValid!");
}
else{
System.out.println("The ID is you Entered is Valid!");
}
}
public static void main(String[] args){
Scanner new_id = new Scanner(System.in);
System.out.print("Enter the ID number: ");
int ID = new_id.nextInt();
try{
int Input_Array[] = new int[]{123, 124, 134, 135, 145, 146};
find_ID(Input_Array, ID);
}
catch(InValid_ID e){
System.out.println(e);
e.printStackTrace();
}
}
}
上面的代码创建了一个无效的 ID 异常。如果用户输入了错误的 ID,它将引发异常。
无效的输出:
Enter the ID number: 133
delftstack.InValid_ID: The ID is you Entered is InValid!
delftstack.InValid_ID: The ID is you Entered is InValid!
at delftstack.User_Defined_Exception.find_ID(User_Defined_Exception.java:19)
at delftstack.User_Defined_Exception.main(User_Defined_Exception.java:32)
有效输出:
Enter the ID number: 145
The ID is you Entered is Valid!
相关文章
JavaFX 文本旋转
发布时间:2023/09/21 浏览次数:96 分类:Java
-
本介绍了如何在 JavaFX 中旋转文本。可以使用 JavaFX.scene.text.Text 类创建文本节点,并在 JavaFX 中使用 setRotate() 来旋转文本。本文介绍了如何在 JavaFX 中旋转文本。
JavaFX 区域与窗格
发布时间:2023/09/21 浏览次数:94 分类:Java
-
本文介绍了 JavaFX 中区域和窗格之间的区别。Region 和 Pane 用于将可调整大小的子节点调整到它们的首选大小,而不是重新定位它们。本文介绍了 JavaFX 中 Region 和 Pane 之间的区别。
JavaFX 媒体播放器
发布时间:2023/09/21 浏览次数:115 分类:Java
-
本文演示了 JavaFX 媒体播放器的正确使用,使用 JavaFX 播放媒体文件。在本文中,我们将学习如何使用 JavaFX 在 Java 中制作媒体播放器。为此,我们将使用内置的 JavaFX 并手动进行设置。
JavaFX 方形按钮
发布时间:2023/09/21 浏览次数:126 分类:Java
-
本文介绍如何在 JavaFX 中创建方形按钮。可以通过扩展 Java 中的 ToolBar 类来创建方形按钮。本文介绍了如何在 JavaFX 中创建方形按钮。
JavaFX setFill() 方法
发布时间:2023/09/21 浏览次数:187 分类:Java
-
本教程演示了如何在 JavaFX 中使用 setFill() 方法。setFill() 方法用于在 JavaFX 中填充形状和其他元素的颜色。本教程演示了在 JavaFX 中使用 setFill() 方法。
JavaFX FXML 加载异常的解决方法
发布时间:2023/09/21 浏览次数:192 分类:Java
-
本文展示了如何解决 JavaFX FXML 加载异常。这也突出了导致此异常的原因。本文介绍导致 JavaFX FXML 加载异常的原因并提供快速解决方案。导致 JavaFX FXML 加载异常的原因 获得 JavaFX FXML 加载异常的
Java 将文本复制到剪贴板
发布时间:2023/09/21 浏览次数:96 分类:Java
-
本文讨论将文本从 Java 应用程序复制到剪贴板的方法。本文讨论将文本从 Java 应用程序复制到剪贴板。Java 提供了几个元素来显示 Java 应用程序中的文本。
在 Java 中捕获多个异常
发布时间:2023/09/21 浏览次数:167 分类:Java
-
本教程介绍了可以在 Java 中捕获多个异常的方法。今天我们将看看我们可以在 Java 中使用和捕获多个异常的方法。Java 中的异常发生在运行时发生不需要的事件时。
什么是 Java 中的空指针异常
发布时间:2023/09/21 浏览次数:122 分类:Java
-
这篇文章教你如何理解 Java 中的空指针异常。本文介绍了 Java 空指针异常以及如何处理它。我们已经包含了一些示例程序供你遵循。在 Java 中,任何引用变量的默认值都是指向内存位置但没有任