zoukankan      html  css  js  c++  java
  • 异常机制(Exception)(一)

    异常机制 

    Exception直接子类

    空指针异常(NullPointerException)

    练习

    package cn.Exception;
    
    public class Test01 {
        public static void main(String[] args) {
            computer c=null;        //空指针异常,对象是null,调用了对象的方法和属性。    
            if(c!=null) {
                c.start();
            }
            
        }
    }
    class computer{
        void start() {
            System.out.println("启动");
        }
    }

    try-catch-finally

     典型示例

    package cn.Exception;
    
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    
    public class Test02 {
        public static void main(String[] args) {
            FileReader f=null;      //d
            try {
            f=new FileReader("C:/Users/Administrator/Desktop/sun/a.txt");   //要抛FileNotFoundException异常//FileReader 用来读取字符文件的便捷类
            char c=(char)f.read();                                        //要抛IOException异常
            char c2=(char)f.read();
            System.out.println(""+c+c2);   //添加上“”,代表字符串相连
            
            }catch(FileNotFoundException e) {    //FileNotFoundException是IOException的子类,一般情况下子类放在前面,如果放后面,就会报父类已经处理的错误
                e.printStackTrace();
            }
            catch( IOException e){
                e.printStackTrace();
            }
            finally {
                try {
                    if(f!=null)      //如果f是空的就不执行了,f不是空的,执行关闭代码。
                    {
                        f.close();   //抛异常
                    }
                }
                catch(Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }

     执行顺序

     最后执行return,finally里有return,则会将前面的返回值覆盖,因此不建议在finally里建立返回值。

                   

  • 相关阅读:
    Android混淆
    Web开发人员应当知道的15个开源项目
    应用开发10种免费推广的方法
    (转载)Comparing C++ and C (Inheritance and Virtual Functions)
    JCTVC 会议输出文档
    HEVC bit depth increasment
    函数指针声明时的形参列表可以没有
    关于链接 Linkage
    二级指针和二维数组
    C 与 C++互相调用函数,变量
  • 原文地址:https://www.cnblogs.com/ssxblog/p/11212421.html
Copyright © 2011-2022 走看看