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 用户定义异常的示例。
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 块。
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()); } } }
输出:
如果我们在这里不使用 throw 类,则会给出编译错误“方法中未处理的异常”。
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); } } }
输出:
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用户异常类”就结束了。几乎所有 Java 中常见的异常都在 Java 编程中发生。我们已经看到了用户定义异常类的创建,也看到了一些用户定义异常的示例。用户不需要在类中实现任何东西;不需要任何方法,还可以重写 toString() 函数来显示自定义消息。
以上是Java 用户定义的异常的详细内容。更多信息请关注PHP中文网其他相关文章!