java异常----2

//类转换异常ClassCastException
class  job{}
class  student extends job {}
class doctor extends job{}
public class Test2 {
    public static void main(String[] args) {
        /**
         *      异常的分类 :
         *      所有的异常的根类为java.lang.Throwable,Throwable又派生出两个子类:
         *      Error和Exception
         *
         *
         *      Exception:
         *        Exception是程序本身能够处理的异常
         *        Exception类是所有异常类的父类,其子类对应了各种各样可能出现的异常时间。通常
         *        Java异常分为:
         *           1.RuntimeException  运行时异常
         *           2.CheckedException  已检查异常
         *
         */

        //运行时异常案例
//        int c=0;
//        System.out.println(1/c);
        /**
         * 显示结果:java.lang.ArithmeticException: / by zero
         *         at com.tcx.Test1.main(Test1.java:22)
         */
        //解决方案:ArithmeticException 异常
//        int c=0;
//        if (c!=0){
//            System.out.println(1/c);
//        }



        //NullPointerException 异常

//        String str=null;
//        System.out.println(str.charAt(0));
        /**
         * 显示结果为: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.charAt(int)" because "str" is null
         * 	         at com.tcx.Test2.main(Test2.java:35)
         */

        //解决方案:增加非空判断
//        String str=null;
//        if (str!=null){
//            System.out.println(str.charAt(0));
//        }

//
//       job a=new job();
//       student s=(student) a;
        /**
         * 显示结果为:Exception in thread "main" java.lang.ClassCastException: class com.tcx.job cannot be cast to class com.tcx.student (
         */
        //解决方案
        job a=new job();
        if (a instanceof student){
            student s=(student) a;
        }


    }
}

上一篇:python抛出异常(hm视频课)


下一篇:二叉树的层序遍历【BFS】