Java学习-异常

异常

异常概述

 

RuntimeExcepttion 运行时异常(可以通过编译)

其余异常都是编译时异常

编译时异常 不一定有问题 只是可能有问题 可以通过 try catch处理

try catch finally

try{

正常运行代码(若出现异常 会new一个异常对象)

}catch(异常类名 变量名){

出现异常处理代码

}finally{

无论是否捕获异常 无论捕获的是否是catch中的异常 都会执行

}

注意:

如果捕捉到catch中的异常 try中异常后面的代码不执行 catch中与 finally执行 try catch finally语句体后(程序后面的)的代码继续执行

如果捕捉到catch外的异常 try中异常后面的代码不执行 catch中和程序后面的代码都不执行 finall执行

未捕捉到异常 除了catch都执行

 

Throwable的方法

public void printStackTrace() 将异常信息都之间输出到控制台(异常类名 异常原因 异常位置)

public String getMessage() 返回异常原因到String

pubilc String toString() 返回异常类名及原因到String

 

throws

在方法后 加throws 异常类名 抛出异常 程序仍无法处理 若调用 无法继续往下执行 需要在调用方法时(谁调用谁处理) 用try catch 处理

 

throw

在某一条件下 在方法体内抛出异常

throw new 异常类名 若自定义异常 异常类名为继承异常类的子类 ()内为自定义的异常原因

 

 

带资源的try

当使用finally 关闭文件时

可能在关闭时出现新异常 会顶替掉原来可能出现的异常

解决方法 嵌套 try catch 比较麻烦

 

java SE 7后提出 带资源的try(try-with-resources) 定义了一个或多个资源的try 声明,try语句在该语句结束时自动关闭这些资源

try(Scanner in = new Scanner(new FileInputStream(“XXXX.txt”));

PrintWriter out = new PrintWriter(“xxxx.txt”)) {

}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值