zoukankan      html  css  js  c++  java
  • 暑假自学(39)

    今天在想要对复数进行加法运算时发现java没有运算符重载。这就意味着在复数运算或者坐标运算这种需要进行类和类之间的运算时,还得再定义方法返回过来结果再用。。。

    很麻烦,目前没有找到解决方法,不太明白为什么要取消运算符重载,只在String上保留了一下。

    除此之外学习了java的异常处理,感觉麻烦的地方在于异常处理的名字,目前见到的异常还是太少了。

    以下是笔记:

    异常处理
    异常事件分为两类:error 和 exception
    error:java虚拟机无法解决的问题,只能通过改代码修改
    exception:其他因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行解决
    体系结构:
    java.lang.Throwable
    java.lang.Error:一般不编写针对性的代码进行处理
    java.lang.Exception:可以进行异常的处理
    编译时异常(check)
    IOException
    ClassNotFoundException
    运行时异常(unchecked)
    NullPointerException 空指针
    ArrayIndexOutOfBoundsException 数组角标越界
    编译时异常处理方式:
    1.try-catch-finally
    2.throws + 异常类型
    异常的处理:
    抓抛模型
    抛:
    程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象
    并将此对象抛出。
    一旦抛出对象以后,其后的代码不再执行。
    抓:
    1.try-catch-finally
    try{
    //可能出现错误的代码
    }catch(异常类型1 变量名1){
    处理异常的方式
    }catch(异常处理2 变量名2){
    处理异常的方式
    }......
    finally{
    一定会执行的代码
    }
    说明:
    1.finally是可选的
    2.使用try将可能出现异常的代码包装起来,在执行过程中,一旦出现异常,就会生成一个对应异常类的对象,根据此对象的类型,去catch中进行匹配
    3.一旦try中的异常对象匹配到某一个catch时,就进入catch中进行异常处理,一旦处理完成,就相当于跳出当前的try-catch结构(在没有写finally结构的情况下),继续执行其后的代码
    4.如果catch中的异常类型满足子父类关系,则要求子类在父类上面
    5.常用的异常处理方式
    1.String getMessage()
    2.printStackTrace()
    6.在try结构中声明的变量,在出了结构后不能再使用

    明天学习另一种编译时异常处理方式

  • 相关阅读:
    (转)关于c#中的事件
    MySql数据库--持续记录ing
    在Eclipse中通过JDBC连接MySQL步骤,非常详细!
    mybatis传入参数类型parameterType和输出结果类型resultType详解
    关于JDBC访问存储过程的问题
    Mybatis(一)入门
    [Redis] 基于redis的分布式锁
    分布式锁----浅析redis实现
    MyBatis的增删改查操作
    C3P0连接池工具类实现步骤及方法
  • 原文地址:https://www.cnblogs.com/buxiang-Christina/p/13504299.html
Copyright © 2011-2022 走看看