服务器之家

服务器之家 > 正文

Java异常处理实例详解

时间:2021-08-17 10:31     来源/作者:Michael阿明

1. 异常例子

  1. class TestTryCatch {
  2. public static void main(String[] args){
  3. int arr[] = new int[5];
  4. arr[7] = 10;
  5. System.out.println("end!!!");
  6. }
  7. }

输出:(越界)

  1. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
  2. at TestTryCatch.main(TestTryCatch.java:4)
  3.  
  4. 进程已结束,退出代码1

2. 异常处理

Java异常处理实例详解
Java异常处理实例详解

  1. class TestTryCatch {
  2. public static void main(String[] args){
  3. try {
  4. int arr[] = new int[5];
  5. arr[7] = 10;
  6. }
  7. catch (ArrayIndexOutOfBoundsException e){
  8. System.out.println("数组范围越界!");
  9. System.out.println("异常:"+e);
  10. }
  11. finally {
  12. System.out.println("一定会执行finally语句块");
  13. }
  14. System.out.println("end!!!");
  15. }
  16. }

输出:

  1. 数组范围越界!
  2. 异常:java.lang.ArrayIndexOutOfBoundsException: 7
  3. 一定会执行finally语句块
  4. end!!!

Java异常处理实例详解

3. 抛出异常

语法:throw 异常类实例对象;

  1. int a = 5, b = 0;
  2. try{
  3. if(b == 0)
  4. throw new ArithmeticException("一个算术异常,除数0");
  5. else
  6. System.out.println(a+"/"+b+"="+ a/b);
  7. }
  8. catch(ArithmeticException e){
  9. System.out.println("抛出异常:"+e);
  10. }

输出:

  1. 抛出异常:java.lang.ArithmeticException: 一个算术异常,除数0

对方法进行异常抛出

  1. void add(int a, int b) throws Exception {
  2. int c = a/b;
  3. System.out.println(a+"/"+b+"="+c);
  4. }
  1. TestTryCatch obj = new TestTryCatch();
  2. obj.add(4, 0);

输出:(报错)

  1. java: 未报告的异常错误java.lang.Exception; 必须对其进行捕获或声明以便抛出

可见,方法后面跟了 throws 异常1, 异常2...,则 必须 在调用处 处理

改为:

  1. TestTryCatch obj = new TestTryCatch();
  2. try{
  3. obj.add(4, 0);
  4. }
  5. catch (Exception e){
  6. System.out.println("必须处理异常:"+e);
  7. }

输出:

  1. 必须处理异常:java.lang.ArithmeticException: / by zero

4. 编写异常类

语法:(继承 extends Exception 类)

  1. class 异常类名 extends Exception{
  2. ......
  3. }
  1. class MyException extends Exception{
  2. public MyException(String msg){
  3. // 调用 Exception 类的构造方法,存入异常信息
  4. super(msg);
  5. }
  6. }
  1. try{
  2. throw new MyException("自定义异常!");
  3. }
  4. catch (Exception e){
  5. System.out.println(e);
  6. }

输出:

  1. MyException: 自定义异常!

到此这篇关于Java异常处理实例详解的文章就介绍到这了,更多相关Java异常处理内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_21201267/article/details/114194589

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部