zoukankan      html  css  js  c++  java
  • Java中异常的处理

    /**
     * 异常
     * 异常处理方式一:try-catch-finally
     * 异常处理方式二: throws + 异常类型
     *
     * 异常的处理,抓抛模型
     * 过程一,“抛”,程序正常执行的过程中,一旦出现了异常,就会在异常代码出生成一个异常类的对象,并将此对象抛出,一旦抛出对象以后,后面代码不再执行
     *      关于异常对象的产生:1.系统自动生成的异常对象  2.手动的生成一个异常对象,并抛出(throw)
     * 过程二,“抓”,可以理解为异常的处理方式,1.try-catch-finally     2.throws
     *
     *体会:try-catch-finally是真正的将异常处理掉了  throws的方式只是将异常抛给了方法的调用者,并没有真正的处理掉
     *
     *开发中如何选择使用try-catch-finally还是throws?
     * 1.如果父类中被重写的方法没有throws方式处理异常,则子类重写方法也不能使用throws。意味着如何子类重写方法中的异常
     * 必须使用try-catch-finally方式处理。
     * 2.执行的方法a中,先后调用了其他几个方法,这几个方法是递进关系执行的,建议这几个方法使用throws方式处理,
     * 而执行的方法a可以考虑使用try-catch-finally方式进行处理异常
     *
     */
    public class exceptionTest {
        public static void main(String[] args) {
    
            //try-catch-finally真正的将异常处理掉了
            try {
                Student student =new Student();
                student.regist(-10);
                System.out.println("sss");//异常后的代码不会执行
    
            }catch (Exception e){
                //e.printStackTrace();
                System.out.println(e.getMessage());
            }
        }
    }
    class Student{
        private int id;
        public void regist(int id) throws Exception{
                                    //throws抓取异常,交给调用者去处理异常
            if(id>0){
                this.id =id;
            }else {
    
                //throw手动抛出异常
                throw new Exception("您输入的数据非法!");
            }
        }
    }
  • 相关阅读:
    80X86常用汇编指令集(不断补充完善中)
    重温大师经典:Martin Fowler 的持续集成
    .NET Framework 将有限地向开发者公开源代码
    DotNet源代码中的模式Builder生成器模式
    Delphi内嵌汇编语言BASM精要(转帖)
    sealed关键字用法
    VS2008设置查看.NET源码的方法
    基于LINQ to SQL的WEB开发三层架构(1)
    拓扑排序
    HDU1495 非常可乐(BFS)
  • 原文地址:https://www.cnblogs.com/king2/p/14638577.html
Copyright © 2011-2022 走看看