美文网首页Monkey Java
课程7.0之Java当中的异常

课程7.0之Java当中的异常

作者: GitOPEN | 来源:发表于2015-08-05 14:03 被阅读32次

转发请注明出处:
安卓猴的博客(http://sunjiajia.com)


本节课程将学习以下内容:

  • 什么是异常
  • 异常的分类
  • try...catch...finally结构的使用方法
  • throw的作用
  • throws的作用

什么是异常

含义:

  • 在面向对象的世界中,异常也是对象;
  • 我们自己的话说,Java程序在正常运行中,出现的一些意外,被称为异常。
  • 定义:中断了正常指令流的事件;
  • 异常和语法错误是不同的东西;
  • 语法错误在编译的时候就会报错;而异常是在运行的时候抛出来的。

格式:

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at Demo5.main(Demo.java:3)

例子1:

这个例子它报上面格式中的错误。

class Demo{
  public static void main(String[] args) {
    int i = 1 / 0;
  }
}

异常的分类

  • 所有的异常都是Throwable的直接子类;
  • 有2个这样的类Exception和Error;
  • Error是JVM在运行是产生的错误,一旦产生它,JVM就会直接关闭;
  • Error也有各种子类;
  • Exception就是我们学习的异常,它也有很多子类,我们将在开发中遇到;
  • Exception分为两大类:运行时异常和编译时异常;
  • 异常被捕捉后,程序可以正常运行和编译。

try...catch...finally结构的使用方法

格式:

try {
  // 有可能出现异常的代码,如果语句2出现异常,那么其后面的语句不再执行,
  // 直接跳入catch体。
  语句1;
  语句2;
  ...
} catch(Exception e) {
  // Exception e是JVM产生的异常对象;
  // 在这里捕捉异常;
  e.printStackTrace(); //打印异常信息;
} finally {
        // 无论是否捕捉到了异常,都会执行。有时也称为异常的出口
  语句;
}

例子2:(请动手)

class Demo{
  public static void main(String[] args) {
    try {
            System.out.println("Hello Monkey!");
      // 有可能出现异常的代码
      int i = 1 / 0;
    } catch(Exception e) {
      e.printStackTrace();
    } finally {
            // 无论是否捕捉到了异常,都会执行。有时也称为异常的出口
            System.out.println("Hello Android!");
    }
  }
}

throw和throws

例子3:(请动手)

1.新建一个User.java的源文件:


class User {
    private int age;
    private int money;
    public void setAge(int age) {
        if (age < 0) {
            // 生成一个异常对象
            RuntimeException e = new RuntimeException("年龄不能为负数!");
            // 抛出这个异常
            throw e;
        }
        this.age = age;
    }

    // throws的用法,对象在使用这个函数时,必须要捕捉异常。
    public void setMoney(int money) throws Exception {
        this.money = money;
    }

}

2.新建一个Demo01.java的源文件:


class Demo01 {
    public static void main(String[] args) {
        User user01 = new User();
        //年龄怎么会有负数呢?因此我们要捕捉这个异常。
        user01.setAge(-20);

        try {
            user01.setMoney(2000);
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("2000太少!");
        }


    }
}

相关文章

  • 课程7.0之Java当中的异常

    转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 什么是异常 异...

  • 第34节:Java当中的异常

    Java当中的异常 了解Java当中的异常,那么什么是异常呢?异常又有什么分类呢?异常中的特殊结构:try...c...

  • Sophix热修报ava.lang.ClassNotFoundE

    问题 在7.0以上版本手机系统上出现java.lang.Exception: … abort cold fix异常...

  • 面向对象-异常

    异常概述 什么是异常(Exception:Java在运行过程当中出现的错误 Throwable 类是 Java 语...

  • 动力节点Java项目冲刺班的课程内容是什么

    好消息好消息,动力节点Java培训机构Java课程体系在升级,7.0正式上线,这是动力节点第二次进行教学课程改革,...

  • Java基础之异常

    Java基础之异常 目录 异常简单介绍 ThrowableErrorException 异常分类 如何处理异常异常...

  • Java基础之异常处理

    Java基础之异常处理 在Java程序中,异常分为编译异常以及运行时异常 编译异常:程序在编译期间就出现的异常,必...

  • 2018-05-22 NPE问题

    java空指针异常(Null Pointer Exception)简称NPE.在开发当中,很容易遇到这类的异常,每...

  • tomcat调优

    开发当中常遇到的三类内存溢出异常 1. java.lang.OutOfMemoryError: Java heap...

  • 异常的概述与使用

    平常我们开发当中经常为遇到一些错误,而阻止Java程序的运行,我们就成为异常。例如我们在实际开发当中常见的异常: ...

网友评论

本文标题:课程7.0之Java当中的异常

本文链接:https://www.haomeiwen.com/subject/gtavqttx.html