Object
  java.lang.Object 所有类的超类
  Object里面有的方法所有的类都有

  Object方法:
    String toString() 返回对象的字符串表现形式
        类名 + @ + 哈希值(一种地址值)
        一般情况下查看地址值没有意义,所以子类会对此方法重写,返回对象的属性值
        打印对象时,默认调用对象的toString()方法

    equals()
        比较两个独立对象是否相等 (==,比较两个对象的地址值是否相等)
    在Object类中:
        public boolean equals(Object obj){ //多态
          return this == obj;
        }
        所以如果不重写这个方法,就是比较的两个对象的地址值

    重写equals(),一般是比较两个对象的属性值是否相等
      注意:A:判断对象类型是否一致,向下转型
         B:注意判断空串

Throwable
    Error:没有办法处理,只能修改代码

    Exception:
      thorw 关键字 抛出异常对象(只有对象是Throwable的子类才能用)
      一般在方法中使用,后面 new 异常对象类名();

      两种处理方式:
        throws (声明异常)
        一般用在方法的声明后 后面直接跟异常对象名
          注意:A:可以声明多个异常对象,中间用 "," 隔开
             B:可以声明多个异常对象的共同父类

        try {
          可能抛出异常的代码;
        } catch (可能出现的异常对象名 变量名){
          变量名.方法名(); //自定义处理异常的方式
        } catch (可能出现的异常对象名 变量名)
          ...
        } finally {
          不管怎样都会执行的代码;
        }
      如果catch没有捕获到异常,就会抛给调用者,如果抛到jvm,程序会中断(由main方法抛给jvm)

      多catch处理细节:
        捕获到多个异常,异常之间如果有直接的继承关系,那么必须先捕获子类异常(多态的存在)
        没有直接继承关系时捕获的异常无序

    在重写的方法中,异常处理的细节
      A:父类方法中有异常:子类可以不抛出异常,也可以抛出父类抛出异常的子异常
      B:父类方法中没有异常:子类方法肯定不可以抛出异常。
      C:子类遇到必须抛出比父类抛出异常更大的情况时,只能try..catch自己处理异常,不能向外抛

  Exception:编译时异常,编译时不能通过,必须进行声明或捕获(必须在编译之前进行处理,否者报错)

  RuntimeException:运行时异常,编译时不报错,运行时出现的异常,可以处理,也可以不处理
            推荐不进行处理,因为运行时异常一般都是代码出现了问题,需要修改代码
            运行时异常,可以帮助中断程序

      继承Exception 就是编译时异常
      继承RuntimeException 就是运行时异常
      自定义异常定义
        两步
          1.定义一个类继承Exception或RuntimeException
          2.构造方法 调用父类构造(一般调用一个空参构造和一个打印提示信息构造)
      自定义异常的处理(如果定义的是运行时异常可以不处理,但是jvm会自己处理)
        要么throws 要么try catch
        正常处理

      异常的三个常用方法
      Throwable
        String getMessage() 获取异常信息     //打印带参构造方法传入的提示信息
        void printStackTrace() 打印异常信息 打印异常的类名 信息 位置
        String toString() 获取异常信息包括类名

Object 和Throwable的更多相关文章

  1. Android中Retrifit使用总结

    Android中网络请求框架Retrofit的使用注意事项 1.Retrofit是基于OkHttp网络请求框架的二次封装而已,懂Okhttp的小伙伴,那么Retrofit也就基本都会. 2.Retro ...

  2. [RxJava^Android]项目经验分享 --- 失败重试

    简单介绍一下业务逻辑:获取字符串,如果获取失败进行10次重试,超出10次未成功视为失败. 模拟获取字符串场景 代码块 class MsgTool { int count; String getMsg( ...

  3. Spring AOP实例——异常处理和记录程序执行时间

    实例简介: 这个实例主要用于在一个系统的所有方法执行过程中出线异常时,把异常信息都记录下来,另外记录每个方法的执行时间. 用两个业务逻辑来说明上述功能,这两个业务逻辑首先使用Spring AOP的自动 ...

  4. Spring AOP深入剖析

    一.通过代理工厂模式配置通知 ①.前置通知.后置通知: 定义某接口:ISomeService,并自定义方法 public interface ISomeService { public void tr ...

  5. 面向切面编程AOP

    本文的主要内容(AOP): 1.AOP面向切面编程的相关概念(思想.原理.相关术语) 2.AOP编程底层实现机制(动态代理机制:JDK代理.Cglib代理) 3.Spring的传统AOP编程的案例(计 ...

  6. Spring aop 记录操作日志 Aspect

    前几天做系统日志记录的功能,一个操作调一次记录方法,每次还得去收集参数等等,太尼玛烦了.在程序员的世界里,当你的一个功能重复出现多次,就应该想想肯定有更简单的实现方法.于是果断搜索各种资料,终于搞定了 ...

  7. 简述jsp之EL表达式和jstl及其使用

    Jsp的指令之include指令include指令:代表的是页面的包含. 作用:可以把一些jsp的页面包含在一起,对外展示. 页面的布局,现在已经不用了,现在都用css+div进行布局.include ...

  8. SpringMVC对异常进行全局处理,并区分对待ajax和普通请求

    异常信息应统一进行处理. 程序员开发过程中,应尽量少用try..catch.避免因为catch造成的业务歧义.而在web开发中,普通的页面提交动作,和ajax提交动作,处理方式不一样,因为跳转后直接显 ...

  9. MMS源码中异步处理简析

    1,信息数据的查询,删除使用AsycnQueryHandler处理 AsycnQueryHandler继承了Handler public abstract class AsyncQueryHandle ...

随机推荐

  1. Spring Boot 2.X 对 web 的开发支持(二)

    Spring Boot 2.X 对 web 的支持开发 上章节的 Spring Boot 的入门案例,我们感受到 Spring Boot 简单的配置即可运行项目. 今天了解 Spring Boot 对 ...

  2. Java Swing 窗体屏幕居中

    Java开发桌面程序用AWT或SWING,可以用设置主窗口位置,使主窗口居中一般使用下面的方法: 01.第一种方法              int windowWidth = frame.getWi ...

  3. Java——单例模式初步

    1.7 单例模式初步 好书推荐:java与模式 1.7.1 什么是设计模式 设计模式是在大量的实践中总结和理论化之后优选的代码结构.编程风格.以及解决问题的思考方式.设计模式就像是经典的棋谱,不同的棋 ...

  4. Java高新技术第二篇:反射技术

    今天我们来看一下Java中的反射技术: 首先来了解一下Java中的反射的一些概念: Java中的反射是1.2引入的 反射的基石:class类 Class类的各个实例对象分别对应各个类在内存中的字节码, ...

  5. NX二次开发-直线分析函数UF_EVAL_ask_line与NXOpen::Line直线分析的用法

    NX11+VS2013 #include <NXOpen/Line.hxx> #include <NXOpen/NXException.hxx> #include <NX ...

  6. arcgis api for javascipt 输出图片

    地图模板制作-发布-gpurl调用 window.open可以直接打开url链接. saveas可以另存,仅支持ie浏览器 <!DOCTYPE html><html><h ...

  7. 创建 Angular 8.0 项目

    创建 Angular 8.0 项目,首先确保已经安装了 nodejs,如果没有安装,请看这篇文章安装:node.js 安装 1.新建一个空文件夹 angularproject,作为工作区 2.安装 A ...

  8. c++-字符串和时间操作

    C++ 字符串 C++ 提供了以下两种类型的字符串表示形式: C 风格字符串 C++ 引入的 string 类类型 C 风格字符串 C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持.字符 ...

  9. 【POJ】1251 Jungle Roads

    题目链接:http://poj.org/problem?id=1251 题意:n个村庄字母标号,每个字母后跟m个字母,表示该字母到mi的距离.求构建所有村庄道路的最短距离. 题解:最小生成树裸题.注意 ...

  10. pycharm连接数据库及相应操作

    1.连接数据库 2.pycharm中数据库的操作