关于java:异常JVM的默认处理方案trycatchthrowsThrowable类运行时异常编译时异常自定义异常

一、异样


Throwable是所有谬误和异样的超类
–Error–重大问题,不须要解决
–Exception–RuntimeException 在编译期不查看的,呈现问题再回来批改
–Exception–非RuntimeException 在编译期就必须解决,不然编译不通过。

二、JVM的默认解决计划

默认解决计划会在程序出现异常的中央间接完结。

三、异样解决之try-catch

两种异样解决计划:try--catch;throws;

3.1 try catch

格局:

try{
须要解决异样的语句//如果这里呈现了xx异样,就会在堆中new xx();如果与catch中的异样类匹配则执行上面的语句
}catch(异样类 对象){
匹配这个异样类后,会执行的语句
}


输入了catch前面的执行语句,且执行了“完结”

四、Throwable类

Throwable是所有异样的祖宗类,因而所有异样都能够调用他外面的办法。

  • e.getMessage()输入了出现异常的起因

  • e.toString输入了异样起因+异样类名

  • e.printStackTrace()输入了异样起因+异样类名+异样呈现的地位

五、运行时异样和编译时异样的区别

运行时异样:非受检异样,编译时不会报错,是runtimeException的子类
编译时异样:受检异样,必须解决,不然编译不胜利,是Exception的子类

运行时异样:

编译时异样:
parseException


解决方案:

红线是说他这里有可能出错。

六、异样解决之throws

例:

throws只是抛出异样,并且找到异样就完结程序。不会持续往后执行。
要想继续执行还是须要try catch。

意思就是在办法定义时抛出后,谁调用这个办法,谁就用try catch异样。

七、自定义异样


留神继承自Exception,是编译时异样。

定义一个无参结构和一个有参结构,且有参结构里继承父类

throw xxException//这里用的是throw 不是throws
而后在用了这个自定义异样的办法名后throws xxException
应用这个带自定义异样的办法

控制台的输入:异样名称+异样地位(没有异样起因

异样起因须要在throw new xxException("异样起因");这里退出


控制台的输入:异样起因+异样名称+异样地位

八、throw和throws的区别

最次要的就是

throw 在办法体外面,肯定会抛出异样
throws 在办法名前面,只有出现异常了才会抛出异样。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理