自定义异常

  1. 1. java自定义异常
  2. 2. throws和throw的区别(面试题)

java自定义异常

在java语言中允许用户自定义异常类。自定义异常类不是系统监测到的异常,而是由用户自己定义的异常。自定义异常同样需要try-catch-finally语句捕获,但**必须由用户自己抛出异常(throw new MyException)**用户自定义异常类时,只需要继承Exception类即可。

**步骤 **: 创建自定义异常类在方法中通过throw关键字抛出异常对象。如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获异常并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。在出现异常方法的调用者中捕获并处理异常。

​ Throwable下面的列表显示了Throwable类的一些常用方法。

​ Throwable类是Java中所有异常类的超类 有两种子类:Error和Exception。此表中显示的所有方法在所有异常类中都可用。

​ Throwable getCause()返回异常的原因。如果未设置异常的原因,则返回null。

​ String getMessage()返回异常的详细消息。

​ StackTraceElement[] getStackTrace()返回堆栈跟踪元素的数组。

​ Throwable initCause(Throwable cause)设置异常的原因。有两种方法可以将异常设置为异常的原因。其他方法是使用构造函数,它接受原因作为参数。

​ void printStackTrace()在标准错误流上打印堆栈跟踪。

​ void printStackTrace(PrintStream s)将堆栈跟踪打印到指定的PrintStream对象。

​ void printStackTrace(PrintWriter s)将堆栈跟踪打印到指定的PrintWriter对象。

​ String toString()返回异常对象的简短描述。

throws和throw的区别(面试题)

​ throws用在方法声明后面,跟的是异常类名可以跟多个异常类名,用逗号隔开表示抛出异常,由该方法的调用者来处理throws表示出现异常的一种可能性,并不一定会发生这些异常throw用在方法体内,跟的是异常对象名只能抛出一个异常对象名表示抛出异常,由方法体内的语句处理throw则是抛出了异常,执行throw则一定抛出了某种异常