乐趣区

关于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 在办法名前面,只有出现异常了才会抛出异样。

退出移动版