码迷,mamicode.com
首页 > 编程语言 > 详细

java基础---->Java中异常的使用(一)

时间:2017-05-11 19:38:11      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:hid   java异常   gif   测试文件   今天   代码   java   oid   new   

  今天我们大致学习一下java中关于异常的知识。

java异常的使用

一、java异常的一些说明

1、Throwable 类是Java 语言中所有错误或异常的超类(这就是一切皆可抛的东西)。它有两个子类:Error和Exception。
2、Exception:它指出了合理的应用程序想要捕获的条件。Exception又分为两类:一种是CheckedException,一种是UncheckedException。这两种Exception的区别主要是CheckedException需要用try...catch...显示的捕获,而UncheckedException不需要捕获。通常UncheckedException又叫做RuntimeException。

 

 二、一些代码的了解异常

  • IllegalArgumentException是UncheckedException的异常。
public static int divide(int num1, int num2) {
    if (num2 == 0) {
        throw new IllegalArgumentException("除数不能为0"); // 这种异常是不会try...catch的
    }
    System.out.println("hello world");
    return num1 / num2;
}

运行的效果如下:

Exception in thread "main" java.lang.IllegalArgumentException: 除数不能为0
    at com.chenhui.huhx.ExceptionTest.divide(ExceptionTest.java:11)
    at com.chenhui.huhx.ExceptionTest.main(ExceptionTest.java:37)
  • IndexOutOfBoundsException是UncheckedException的异常。
public static void arraysOutbounds() {
    int[] arrays = new int[]{2, 3, 5};
    try {
        System.out.println(arrays[4]);
    } catch (IndexOutOfBoundsException e) {
        System.out.println("数组越界错误");
    }
    System.out.println("数组异常之后的执行");
}

运行的效果如下:

数组越界错误
数组异常之后的执行
  • FileNotFoundException是checkedException的异常,这类异常必需try...catch或者throw。
public static void checkException() {
    try {
        throw new FileNotFoundException("文件找不到");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    System.out.println("文件异常之后的执行");
}

运行的效果如下:

java.io.FileNotFoundException: 文件找不到
    at com.chenhui.huhx.ExceptionTest.checkException(ExceptionTest.java:29)
    at com.chenhui.huhx.ExceptionTest.main(ExceptionTest.java:39)
文件异常之后的执行

整个的测试文件如下:

技术分享
 1 package com.chenhui.huhx;
 2 
 3 import java.io.FileNotFoundException;
 4 
 5 /**
 6  * Created by huhx on 2017-04-27.
 7  */
 8 public class ExceptionTest {
 9     public static int divide(int num1, int num2) {
10         if (num2 == 0) {
11             throw new IllegalArgumentException("除数不能为0"); // 这种异常是不会try...catch的
12         }
13         System.out.println("hello world");
14         return num1 / num2;
15     }
16 
17     public static void arraysOutbounds() {
18         int[] arrays = new int[]{2, 3, 5};
19         try {
20             System.out.println(arrays[4]);
21         } catch (IndexOutOfBoundsException e) {
22             System.out.println("数组越界错误");
23         }
24         System.out.println("数组异常之后的执行");
25     }
26 
27     public static void checkException() {
28         try {
29             throw new FileNotFoundException("文件找不到");
30         } catch (FileNotFoundException e) {
31             e.printStackTrace();
32         }
33         System.out.println("文件异常之后的执行");
34     }
35 
36     public static void main(String[] args) {
37 //        divide(3, 0);
38 //        arraysOutbounds();
39         checkException();
40     }
41 }
异常测试类

 

友情链接

 

java基础---->Java中异常的使用(一)

标签:hid   java异常   gif   测试文件   今天   代码   java   oid   new   

原文地址:http://www.cnblogs.com/huhx/p/baseusejavaexception1.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!