首页  >  文章  >  Java  >  Java 用户定义的异常

Java 用户定义的异常

WBOY
WBOY原创
2024-08-30 16:15:081056浏览

Java 用户定义异常是创建的自定义异常,并使用关键字“throw”抛出该异常。这是通过扩展“Exception”类来完成的。异常是程序执行过程中出现的问题。在面向对象编程语言中,Java提供了强大的机制来处理此类异常。 Java允许创建自己的异常类,它提供自己的异常类实现。此类异常称为用户定义的异常或自定义异常。让我们更深入地研究一下 Java 中如何创建用户定义的异常、它的语法(如果有的话)以及它是如何通过解决一些示例来实现的。

广告 该类别中的热门课程 JAVA 掌握 - 专业化 | 78 课程系列 | 15 次模拟测试

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

语法:

对于 Java 用户定义的异常,我们没有任何特定的语法;我们将看到如何创建用户定义的异常。

下面的代码将有助于创建用户定义的异常类,

class SampleException{
public static void main(String args[]){
try{
throw new UserException(<value>); // used to create new exception and throw
}
catch(Exception e){
System.out.println(e);
}
}
}
class UserException extends Exception{
// code for exception class
}

这里,在创建异常类时,需要从java.lang.Exception类扩展。 lang.Exception.

异常是导致程序在运行时执行过程中突然终止的事件。

示例

让我们讨论一下 Java 用户定义异常的示例。

示例#1:简单程序

class SampleException{
public static void main(String args[]){
try{
throw new UserException(400);
}
catch(UserException e){
System.out.println(e) ;
}
}
}
class UserException extends Exception{
int num1;
UserException(int num2) {
num1=num2;
}
public String toString(){
return ("Status code = "+num1) ;
}
}

输出:

关键字“throw”用于创建一个新的异常并将其抛出到 catch 块。

Java 用户定义的异常

示例 #2:对于无效 ID

class EmployeeException extends Exception
{
public EmployeeException(String s)
{
super(s);
}
}
class SampleEmp
{
void empIDCheck(int EmpID) throws EmployeeException{
if(EmpID<=0 || EmpID>999){
throw new EmployeeException("Invalid Employee ID");
}
}
public static void main(String args[])
{
SampleEmp emp = new SampleEmp();
try
{
emp.empIDCheck(0);
}
catch (EmployeeException e)
{
System.out.println("Exception caught");
System.out.println(e.getMessage());
}
}
}

输出:

Java 用户定义的异常

如果我们在这里不使用 throw 类,则会给出编译错误“方法中未处理的异常”。

示例#3:对于小于定义值的值

class SampleException extends Exception
{
private int e;
SampleException(int num1)
{
e = num1;
}
public String toString()
{
return "(" + e +") is less than Ten";
}
}
class Demo1
{
static void sum(int num,int num1) throws SampleException
{
if(num1<10)
{
throw new SampleException(num1);
}
else
{
System.out.println(num+num1);
}
}
public static void main(String[] args)
{
try
{
sum(-5, 4);
}
catch(SampleException e1)
{
System.out.println(e1);
}
}
}

输出:

Java 用户定义的异常

示例 #4:检查 ID 有效性

class IDNotValid extends Exception
{
public IDNotValid(String s) {
super(s);
}
}
class Demo
{
static void find(int array[], int id) throws IDNotValid
{
boolean stdFlag = false;
for (int i = 0; i < array.length; i++) {
if(id == array[i])
stdFlag = true;
}
if(!stdFlag)
{
throw new IDNotValid("ID is not Valid!");
}
else
{
System.out.println("ID is Valid!");
}
}
public static void main(String[] args)
{
try
{
find(new int[]{101, 102, 103, 104, 105, 106, }, 108);
}
catch(IDNotValid e)
{
System.out.println(e);
}
}
}

输出:

Java 用户定义的异常

这里我们生成自己的异常实现。

使用这些用户定义的异常有很多优点;它允许用户抛出用户想要的异常。用户还可以重复使用任何现有的应用程序;任何捕获异常的代码都会处理实际异常的可能性,该异常不是由代码引发的,而是由其他第三方代码引发的。
用户可以将错误处理代码与常规代码分开,对错误类型进行分组和区分。
创建异常类也有一些规则。

  • 构造函数: 在自定义异常类中创建任何构造函数时,这不是必需的。在自定义异常类中提供参数化构造函数是一种很好的做法。
  • 命名约定:所有异常类均由JDK端提供;因此,自定义异常应该遵循命名约定。
  • 扩展异常类:如果用户正在创建自定义异常类,则用户必须扩展异常类。

至此,我们的主题“Java用户异常类”就结束了。几乎所有 Java 中常见的异常都在 Java 编程中发生。我们已经看到了用户定义异常类的创建,也看到了一些用户定义异常的示例。用户不需要在类中实现任何东西;不需要任何方法,还可以重写 toString() 函数来显示自定义消息。

以上是Java 用户定义的异常的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn