java基础---->Java中异常的使用(一)
2017-05-11 18:51
609 查看
今天我们大致学习一下java中关于异常的知识。原来忍住一段时间不联系一个人,真的就不想联系了。
RuntimeException表示出现了某种编程错误或者其他不可修复的错误,因为它们通常不会被捕获。它们不会在调用栈中逐层传递,而是默认地在控制台中输出栈追踪信息,并终止线程。
运行的效果如下:
IndexOutOfBoundsException是UncheckedException的异常。
运行的效果如下:
FileNotFoundException是checkedException的异常,这类异常必需try...catch或者throw。
运行的效果如下:
整个的测试文件如下:
异常测试类
java异常的使用
一、java异常的一些说明
1、Throwable 类是Java 语言中所有错误或异常的超类(这就是一切皆可抛的东西)。它有两个子类:Error和Exception。 2、Exception:它指出了合理的应用程序想要捕获的条件。Exception又分为两类:一种是CheckedException,一种是UncheckedException。这两种Exception的区别主要是CheckedException需要用try...catch...显示的捕获,而UncheckedException不需要捕获。通常UncheckedException又叫做RuntimeException。
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) 文件异常之后的执行
整个的测试文件如下:
package com.chenhui.huhx;
import java.io.FileNotFoundException;
/**
* Created by huhx on 2017-04-27.
*/
public class ExceptionTest {
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; }
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("数组异常之后的执行"); }
public static void checkException() { try { throw new FileNotFoundException("文件找不到"); } catch (FileNotFoundException e) { e.printStackTrace(); } System.out.println("文件异常之后的执行"); }
public static void main(String[] args) {
// divide(3, 0);
// arraysOutbounds();
checkException();
}
}
异常测试类
友情链接
intellj idea2017的破解方法:http://quanzhan.applemei.com/webStack/T1RnMw==相关文章推荐
- java基础---->Java中异常的使用(二)
- 程序员_Java基础之<四>-异常
- java 从零开始,学习笔记之基础入门<异常>(十五)
- 【COCOS2D-X 备注篇】ASSETMANAGEREX使用异常解决备注->CHECK_JNI/CC‘JAVA.LANG.NOCLASSDEFFOUNDERROR’
- java基础---->Comparable和Comparator的使用
- Java基础知识强化之集合框架笔记19:List集合迭代器使用之 并发修改异常的产生原因 以及 解决方案
- Java基础--->09.关于JDK使用旧方法编译出错、警告问题。
- <黑马程序员>java基础加强--eclipse的使用
- java 基础异常使用总结
- 我的Java开发学习之旅------>Java使用ObjectOutputStream和ObjectInputStream序列号对象报java.io.EOFException异常的解决方法
- java基础---->java中Properties的使用
- Java基础<六>_异常、包
- Java基础之集合框架——使用堆栈Stack<>对象模拟发牌(TryDeal)
- 黑马程序员 Java基础<四>---> 异常
- java基础<异常>
- 黑马程序员 Java基础<五>异常
- 黑马程序员 java 基础 毕向东 面向对象 异常 以及 package 的使用
- 黑马程序员_Java基础_IO流_字节流,字节流操作文件,缓冲区字节流,流的使用规律,异常记录原理