异常:将程序执行中发生的不正常情况(当执行一个程序时,如果出现异常,那么异常之后的代码就不在执行。)

java.lang.Throwable:异常的超类

1、Error:java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。一般无法通过编写代码处理。

2、Exception:因编码错误导致的一般性问题,可以使用针对性的代码进行处理。

  ① 编译异常:在编译期间会出现的异常,即在IDE环境中出现了红色的波浪线。

  ② 运行异常:在运行期间出现的异常。

处理异常

1、try catch finally

  ① 可以有多个catch语句,try中抛出的异常类对象从上往下去匹配catch中异常类型一旦满足就执行catch中的代码。

  ② 如果用了进到了catch处理了异常,那么后面的代码还是执行的。

  ③ finally不管有没有异常永远都会被执行,即使有return语句。

  ④ 如果在catch中又发生了异常,那么依然还会抛出异常。

笔试题一:

 public class Main {
public static void methodA() {
try {
methodB();
System.out.println("a1");
} catch (Exception ex) {
System.out.println("a2");
} finally {
System.out.println("a3");
}
System.out.println("a4");
} public static void methodB(){
try {
int a= 1/0;
System.out.println("b1");
} catch (Exception ex) {
System.out.println("b2");
} finally {
System.out.println("b3");
}
System.out.println("b4");
}
public static void main(String[] args) {
Main.methodA();
}

输出结果:b2 b3 b4 a1 a3 a4

2、throws

try catch如果捕获到了异常,即使写了thorws,其实是不其作用的,因为catch已经处理了异常,没异常了还往外抛什么啊。

 class Person {
void sleep() throws NullPointerException { }
} class Student extends Person {
void sleep() throws Exception { }
}

编译错误,父类向子类抛出的异常的范围必须相等或越抛越小。

 public static void A() throws ArithmeticException {
B();
}
public static void B() throws Exception {
throw new ArithmeticException();
}
public static void main(String[] args) throws Exception {
Main.A();
}

编译错误,向上抛异常的范围必须相等或越来越大。

  

 

跟着刚哥梳理java知识点——异常(十一)的更多相关文章

  1. 跟着刚哥梳理java知识点——多线程(十六)

    创建多线程第一种方式:① 继承:继承Thread.② 重写:重写Thread类的run()方法③ 创建:创建一个子类的对象④ 调用:调用线程的start()方法,启动此线程,调用run()方法 cla ...

  2. 跟着刚哥梳理java知识点——面向对象(八)

    面向对象的核心概念:类和对象. 类:对一类事物描述,是抽象的.概念上的定义. 对象:实际存在的该类事物的每个个体,因而也成为实例(Instance). Java类及类的成员:属性(成员变量Field) ...

  3. 跟着刚哥梳理java知识点——注释(二)

    1.单行注释 // //这是main方法,程序的入口 public static void main(String[] args) { //输出语句 System.out.println(" ...

  4. 跟着刚哥梳理java知识点——IO(十五)

    凡是与输入.输出相关的类.接口都定义在java.io包下 java.io.File类 1.File是一个类,可以有构造器创建其对象.此对象对应着一个文件或者一个目录. 2.File中的类,仅涉及到如何 ...

  5. 跟着刚哥梳理java知识点——泛型(十三)

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: public class GenericTest { public static void main(String[] a ...

  6. 跟着刚哥梳理java知识点——集合(十二)

    Java集合分为Collection和Map两种体系 一.Collection接口: Collections接口为我们提供了以下方法: size():返回集合中元素的个数 add(Object obj ...

  7. 跟着刚哥梳理java知识点——深入理解String类(九)

    一.String类 想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码: public final class String implements java.io.Ser ...

  8. 跟着刚哥梳理java知识点——变量之间的类型转换(四)

    变量之间的类型转换主要包括自动类型转换和强制类型转换. 1.自动类型转换:当容量小的数据类型与容量大的数据类型做运算时,容量小的会自动的转换成容量大的类型. [知识点]: a)char,byte,sh ...

  9. 跟着刚哥梳理java知识点——HelloWorld和常见问题(一)

    1.按照国际惯例,写一段输出HelloWorld的java语句: public class HelloWorld { //这是main方法,程序的主入口 public static void main ...

随机推荐

  1. Java程序员入门:Java程序员面试失败的5大原因

    1 说得太少 尤其是那些开放式的问题,如"请介绍下你自己"或"请讲一下你曾经解决过的复杂问题".面试官会通过你对这些技术和非技术问题的回答来评估你的激情.他们也 ...

  2. Javaweb之Servlet入门

    1. 什么是Servlet? Java Servlet 是运行在 Web 服务器或应用服务器上的程序:他是浏览器(HTTP客户端)请求和HTTP服务器上资源(访问数据库)之间的中间层. 2. 什么是S ...

  3. 【解题报告】VijosP1448校门外的树(困难版)

    原题: 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的--如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作:K=1,K=1,读入l.r ...

  4. SQLServer索引循环删除

    declare qc_cursor cursor SCROLL OPTIMISTIC Forselect siteName from tb_vhostcheckopen qc_cursordeclar ...

  5. mybatis基础,mybatis核心配置文件properties元素

    peroperties元素 可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递 为dataSource元素配置 <proper ...

  6. Pow(x, n) leetcode

    Implement pow(x, n). Subscribe to see which companies asked this question 利用依次消去二进制位上的1,来进行计算 double ...

  7. 1349: [Baltic2006]Squint

    1349: [Baltic2006]Squint Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 427  Solved: 248[Submit][Stat ...

  8. 获取3个月前的时间(获取某一天的时间 NSDate)

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; ...

  9. Intellij Idea自动加载改动文件和自动自动热部署加载

    1:准备原料 我的Intellij Idea的版本是15. 之后tomcat自动加载修,你只需要在浏览器刷新一下页面即可. ************************************** ...

  10. Zookepper(2015.08.16笔记)

    2015.08.16zookepper   Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务(如同小区里面的供水.电的系统) 它包含一个简单的原 ...