首页 > 编程语言 > 详细

JAVA基础知识回顾-----异常总结-----随想随写

时间:2016-06-12 03:56:16      阅读:268      评论:0      收藏:0      [点我收藏+]


??

1.定义:字面意思,不同于常规,也就是说,某段代码可能不正常,会出现问
题;
bubuko.com,布布扣



2.异常通常分为三级结构,第一级为Throwable,第二级为Error和Exception
第三级为Error下面对应的子类,以及Exception下面对应的子类;通常我们
只研究Exception下面的子类;

?

3.Exception分类:
? a) RuntimeException(运行时异常、UnCheckedException)):
?? 此种异常在编译前不检查异常,程序中可以选择捕获处理,也可以不处理;
? b) 非运行时异常(CheckedException):
?? 此种异常理论上是必须进行处理的异常,如果不处理,程序就不能编译通过;


4.参考:常用的运行时异常与非运行时异常

? 运行时异常:

bubuko.com,布布扣

? 非运行时异常:

bubuko.com,布布扣


5.异常处理的几种方式:
? a) try...catch...finally 来处理异常?

    try{
      //可能出现异常的代码
      //不会出现异常的代码(如果发生异常,则这部分代码不会被执行)
     }catch(Exception ex){
      //如何处理异常
     }finally{
      //必须执行的代码
     }

?
? b) 在方法名后使用throws? 异常? 的方式来系统自己处理异常;
??? 这种处理异常需要考虑一个问题,就是需要处理的异常是检查性异常,还是
??? 非检查性异常,如果是检查性异常,则必须使用try...catch进行处理,否则
??? 编译不会通过,如果是非检查性异常,则可以选择性的使用try...catch进行
??? 处理,如果不处理,抛到main方法时,JVM会自行处理异常
? c) throw 异常? 此方法手动抛出异常,也需要考虑到两种情况,但是一般我们都会
??? 将此方法和try...catch一起使用;
??? 检查性异常: 必须使用try...catch进行处理,否则编译不会通过
??? 非检查性异常:可以选择性的使用try...catch进行处理,如果不处理,
??? 抛到main方法时,JVM会自行处理异常


6.自定义异常
? 可以继承Exception也可以继承Throwable
? ep:
?

 class MyException extends Exception{
     public MyException(){}
     public MyException(String message){
        super(message);
     }
  }

?
? 完整代码:

  package com.ahuiby.test;

  class MyException extends Exception{
    public MyException(){}
    public MyException(String message){
       super(message);
    }
  }

  public class Test {

 public static void main(String[] args) {
    
       int age=250;
       try{
        if(age>150||age<0){
         throw new MyException("年龄越界异常");
        }   
       }catch(MyException me){
        me.printStackTrace();
       }
 }

  }

?

JAVA基础知识回顾-----异常总结-----随想随写

原文:http://ye-wolf.iteye.com/blog/2303266

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!