异常
 (1)程序出现的不正常的情况。
 (2)异常的体系
      Throwable
         |--Error  错误,严重问题,我们不处理。    ·
         |--Exception 异常
            |--RuntimeException 运行期异常,我们需要修正代码
            |--非RuntimeException 编译期异常,必须处理的,否则程序编译不通过
 (3)异常的处理:
    A:JVM的默认处理
       把异常的名称,原因,位置等信息输出在控制台,但是呢程序不能继续执行了。
    B:自己处理(捕获异常)
       a:try...catch...finally
          自己编写处理代码,后面的程序可以继续执行
       b:throws
          把自己处理不了的,在方法上声明,告诉调用者,这里有问题

(4)面试题
      A:编译期异常和运行期异常的区别?
       编译期异常 必须要处理的,否则编译不通过
       运行期异常 可以不处理,也可以处理
     B:throw和throws是的区别
       throw:
          在方法体中,后面跟的是异常对象名,并且只能是一个
          throw抛出的是一个异常对象,说明这里肯定有一个异常产生了
       throws:
          在方法声明上,后面跟的是异常的类名,可以是多个
          throws是声明方法有异常,是一种可能性,这个异常并不一定会产生

      

import java.io.*;
public class className
{
public void deposit(double amount) throws RemoteException
{
// Method implementation
throw new RemoteException();
}
//Remainder of class definition
}

(5)finally关键字及其面试题
      A:finally用于释放资源,它的代码永远会执行。特殊情况:在执行到finally之前jvm退出了
      B:面试题
       a:final,finally,finalize的区别?
       b:如果在catch里面有return,请问finally还执行吗?如果执行,在return前还是后
        会,前。
    
      C:异常处理的变形
         try...catch...finally
         try...catch...
         try...catch...catch...
         try...catch...catch...fianlly
         try...finally

     D:注意事项:

      catch 不能独立于 try 存在。

      在 try/catch 后面添加 finally 块并非强制性要求的。

      try 代码后不能既没 catch 块也没 finally 块。

      try, catch, finally 块之间不能添加任何代码。

(6)自定义异常
      继承自Exception或者RuntimeException,只需要提供无参构造和一个带参构造即可
 (7)异常的注意实现
      A:父的方法有异常抛出,子的重写方法在抛出异常的时候必须要小于等于父的异常
      B:父的方法没有异常抛出,子的重写方法不能有异常抛出
      C:父的方法抛出多个异常,子的重写方法必须比父少或者小

java学习笔记 --- 异常的更多相关文章

  1. Java学习笔记--异常描述

    异常描述 1.简介 为了全面了解"异常"的概念,先来分析一个实例.假定要编写一个Java程序,该程序读取用户输入的一行文本,并在终端显示该文本.这里是一个演示Java语言I/O功能 ...

  2. Java学习笔记--异常机制

    简介 在实际的程序运行过程中,用户并不一定完全按照程序员的所写的逻辑去执行程序,例如写的某个模块,要求输入数字,而用户却在键盘上输入字符串:要求打开某个文件,但是文件不存在或者格式不对:或者程序运行时 ...

  3. 0016 Java学习笔记-异常-如果try-catch-finally中都存在return语句会怎样?

    上午在搜索"System.runFinalization"的时候,搜到 http://www.cnblogs.com/Skyar/p/5962253.html ,其中有关于try- ...

  4. JAVA学习笔记—review基本知识[反射与异常]

    JAVA学习笔记—review基本知识[反射与异常] 1.异常: 1.1异常的分类: Java会将所有的异常封装成对象,其根本父类为Throwable. Throwable有两个子类:Error 和E ...

  5. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  6. 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用

    垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...

  7. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  8. Java学习笔记-多线程-创建线程的方式

    创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行 ...

  9. 20145330第十周《Java学习笔记》

    20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...

随机推荐

  1. 蓝桥网试题 java 基础练习 字母图形

    ----------------------------------------------------------------- 不知道说啥 感觉好像偏离主体思想了 但是这样写好简单 ------- ...

  2. .Net程序员学用Oracle系列(12):增删改查

    1.插入语句 1.1.INSERT 1.2.INSERT ALL 2.删除语句 2.1.DELETE 2.2.TRUNCATE 3.更新语句 3.1.UPDATE 3.2.带子查询的 UPDATE 3 ...

  3. jstl__报错

    1.缺少JAR:解决的办法就是手动将jstl.jar和 standard.jar这两个jar包加入到web项目的WEB-INF/lib目录中或者是把jstl.jar.standard.jar复制到to ...

  4. JAVA逻辑运算符

    逻辑运算符,用于链接boolean类型的表达式. AND与 (&)OR或 (|)XOR异或 (^)Not非 (!)AND双与短路 (&&)OR双与短路 (||) 与(& ...

  5. 拆开Ceph看队列和线程

    作者:吴香伟 发表于 2017/01/08 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 我上小学时家离学校很远,家在某某山脚,学校在镇里.每周回家一趟,周五放 ...

  6. Python 最大公约数的欧几里得算法及Stein算法

    greatest common divisor(最大公约数) 1.欧几里得算法 欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数. 其计算原理依赖于下面的定理: 两个整数的最大公约数等 ...

  7. (五)Lua脚本语言入门

    ---恢复内容开始--- 写完这篇Lua脚本语言入门,自己就要尝试去用Lua脚本语言写esp8266了,,自己现在挺心急的,因为朋友使用esp8266本来说自己帮忙写好程序的,但是用的单片机不一样自己 ...

  8. gridView 编辑单元格获取单元格焦点位置(位于单元格的焦点位置)

    1.主要代码: private void Form1_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Col ...

  9. ios跳转到系统设置

    在项目中,我们经常会碰到使用位置的需求.当用户设置app不允许使用位置的时候,最好的用户体验就是直接调转到系统的位置设置界面,进行设置. 第一 跳转到自己项目(在需要调转的按钮动作中添加如下的代码,就 ...

  10. BZOJ 3479: [Usaco2014 Mar]Watering the Fields(最小生成树)

    这个= =最近刷的都是水题啊QAQ 排除掉不可能的边然后就最小生成树就行了= = CODE: #include<cstdio>#include<iostream>#includ ...