【202天】黑马程序员27天视频学习笔记【Day19-上】

叨逼叨两句

  1. 该请吃饭了~
  2. 罗胖第327期节目《行业与命运》讲的很是好,新行业里的创业公司是高风险,可是参与其中的我的,倒是低风险,为何?关键在于得到新行业的从业经验,即使你在的公司破产也不要紧,只要你在这个新行业中成为了稀缺的人才,还怕个球~。
  3. 区块链应用开发颇有多是将来我能参与的大的创业机会,人工智能反而不太可能,即使10年后成为了其中一员,也只是得到较高工资而已。
  4. 固然,即使如此,我将来也要学人工智能,毕竟,很酷炫啊!!!哈哈!!!

19-01:异常概述和分类

Error:错误

这种是相似服务器宕机,数据库崩溃等错误程序员

Exception:异常

异常的继承体系

  1. Throwable数据库

    1. Error
    2. Exception服务器

      1. RuntimeException【这种异常是因为程序员错误致使的,必须经过修改源代码进行更正】

19-02:JVM默认是如何处理异常的

  1. 查看异常时从下往上一层层的找
  2. 出现异常时,底层实际是new ArithmeticException(:/by zero)
  3. 一层层往上抛,最后抛给了JVM处理。
  4. JVM有一个默认的异常处理机制,它会将该异常的名称,异常的信息,异常出现的位置打印在控制台上,同时将程序中止运行。

19-(03-04):try...catch的方式处理异常

try、catch、finalize的含义

  1. try:用于检测异常
  2. catch:用于捕获异常
  3. finally:用于释放资源

异常处理的两种方式

  1. try...catch...finally区块链

    1. try...catch
    2. try...catch...finally
    3. try...finally
  2. throws

try...catch处理一个异常

  1. try。。。catch把异常处理完以后,后续代码能够继续运行
package com.test.demo001;


public class Demo31 {
        public static void main(String[] args) {
            Demo01 d = new Demo01();
            try{
                int i = d.div(10, 0);    //底层建立了一个new ArithmeticException("/ by zero"),可是i接不住
                System.out.println(i);    
            } catch(ArithmeticException e){ //这里至关于 ArithmeticException e = new ArithmeticException("/ by zero")
                System.out.println("出错了"+ e);  
                System.out.println(e);
            }
        }
}

class Demo01 {    
    public int div(int a,int b){
        return a/b;            
    }
}

try。。。catch处理多个异常

  1. 安卓处理异常的方式:由于是客户端开发,因此直接用Exception e全给接住。
  2. JavaEE处理异常的方式:由于是服务器端开发,因此通常都是底层开发,而后从底层向上抛,最后造成一个错误日志,方便往后查错作维护。
  3. 大的异常要放后面,小的异常放前面。
package com.test.demo001;


public class Demo31 {
        public static void main(String[] args) {
            int a = 10;
            int b = 0;
            int[] arr = {11,22,33,44,55};
            try{
                System.out.println(arr[1]);
                System.out.println(a/b);
            } catch(ArithmeticException e){
                System.out.println("除数不可为0");
            } catch(ArrayIndexOutOfBoundsException e){
                System.out.println("越界了");
            } catch(Exception e){  //这个至关于多态
                System.out.println("出错了");
            }
            

        }
}

19-05:编译期异常和运行期异常的区别

  1. RuntimeException类及其子类被称为运行期异常,是程序员犯的错误。其它的异常被称为编译时异常。
  2. 编译时异常在编译期不处理就没法编译经过【未雨绸缪嘛~】
相关文章
相关标签/搜索