• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
火磷
Memory will fade,but not notes.
博客园    首页    新随笔    联系   管理    订阅  订阅
异常

一.定义

异常是正常情况以外的事件,具有不确定性。

二.异常分类

注:Exception是所有异常类的祖先类,Error是所有错误类的祖先类。两者区别:error不是程序需要捕获和进行处理的。

Exception分为运行时异常,非运行时异常:

运行时异常:                               

1.数学异常
2.空指针异常
3.类型转换异常
4.数组下标越界异常
5.....

三.异常处理

1.隐式声明抛出

try{易出现错误的代码} catch{抓取异常,作出处理} catch{}...finally{} 语句  
注:try语句不能缺省;catch语句可以有多个(如果存在多个catch语句,父类的异常要在最后被抓取);finally语句一定会被执行。

     重写方法不能抛出比被重写方法范围更大的编译时异常
     理解:在多态情况下,编译时处理的是父类声明的异常类型,但是运行时可能调用子类的重写方法,子类如果抛出更大的异常,父类声明的异常将会失效。

2.显示声明抛出
throws关键字:在一个方法的参数列表后面使用throws 异常类型(可多个),进行异常抛出

四.实例

 1 public class TestException {
 2  public static void main(String args[]) {
 3   try{
 4   int i=10/0;
 5   System.out.println(i);
 6         int a[]={1,2};
 7         System.out.println(a[2]);
 8   }
 9   catch(ArithmeticException e){
10    System.out.println(e.getMessage());
11   }
12   catch(ArrayIndexOutOfBoundsException e){
13    System.out.println(e.getMessage());
14   }
15   finally{
16    System.out.println("finally");
17   }  
18  }
19 }

 

posted on 2017-07-21 16:36  火磷  阅读(134)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3