3.12Java学习笔记

今天主要总结异常机制。

异常

  1. 方法可在运行期间遇到问题时抛出异常(此异常为程序作者指定的情况)
  2. 异常是Exception类型的对象(异常也是对象)
  3. 方法可以用throw抛出异常对象。
  4. 可能会抛出异常的方法在方法声明后面加上throw Exception。
  5. 如果程序调用了可能有异常的方法,就得把调用包在try/catch块中,并将异常处理/恢复程序放在catch块中。(try中放有可能有异常的方法,catch中放你的处理方案),或者直接将该异常ducking掉。
  6. 如果该程序运行结果并未出现异常,则catch块不会被执行。
  7. finally块是无论如何都会执行的程序,包括try或者cath块中有return语句时,会先执行finally块中语句再return。

我对于异常的测试
异常text类

package study;
public class 异常text {
 public int m;
 public 异常text(int i) {
  this.m=i;
 }
 public void print() throws Exception {
  System.out.println(m);
  if(m==10)
   throw new Exception();
  if(m<0)
   throw new Exception();
 }
}

text类

package study;
public class text {
 public static void main(String[] args) throws Exception {
  异常text a = new 异常text(2);
  try {
   while (true) {
    a.print();
    a.m++;
   }
  } catch (Exception ex) {
   System.out.println("Oh,holy shit,this is a error.");
  }finally {
   System.out.println("No problem.");
  }
  a.m=-1;
  a.print();
 }
}

运行结果

2
3
4
5
6
7
8
9
10
Oh,holy shit,this is a error.
No problem.
-1
Exception in thread "main" java.lang.Exception
 at study.异常text.print(异常text.java:13)
 at study.text.main(text.java:17)

我们看到当main方法duck掉这个时,虽然程序能运行但是到异常位置,还是会出现错误,毕竟计算机不知道咋解决这个异常。
所以面对异常时我们有两种解决方案:

  1. 写出try/catch块用以解决问题。
  2. 直接将他duck掉。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值