当前位置: 首页 > news >正文

Java Exception 异常相关总结

1.简介

在Java中,当代码运行有问题时会抛出异常,主要分为两类:

1.可以通过try…catch来捕获解决的,不影响后续执行的RuntimeException。

2.不可以通过代码解决的Exception。

为了提高代码的健壮性,我们会选择去捕获异常。

2.如何捕获

捕获可以采用以下伪代码逻辑来实现:

try {需要执行的并监视的流程 
} catch (抛出的异常对象 对象引用){异常的解决方案。
} catch(抛出的异常对象 对象引用){异常的解决方案。
}finally{最终执行的代码逻辑(不管程序有没有异常都会执行,该分支可以省略)
}

举例:

int i = 0;
int j;try{j = 10 / i;
} catch (ArithmeticException e){System.out.println("发现除零异常");
} finally {System.out.println("最终执行的代码");
}

一般抛出多个异常的场景先捕获小的异常,再捕获大的异常,小异常一边继承自大异常,小异常更有利于准确定位问题。

3.常见的RuntimeException异常

除零异常:ArithmeticException

空指针异常:NullPointerException

数组越界:ArrayIndexOutOfBoundsException

字符串越界:StringIndexOutOfBoundsException

格式化异常:NumberFormatException

类型转换异常:ClassCastException

4.类的方法的异常处理

如果类的方法可能会发生异常,需要报备否则调用者将不知道异常了。

public class Main {public static void main(String[] args) {try{Test test = new Test();test.func(1,0);}catch(RuntimeException e){//处理异常System.out.println("异常了");}}
}class Test {public void func(int i, int j) throws RuntimeException {//报备可能发生的异常给调用者System.out.println(i / j);}
}

5.自定义异常

如果系统的异常无法覆盖所有的需求,那么可以自定义异常:

public class Main {public static void main(String[] args) {test("456");}public static void test(String a){if(!"123".equals(a)){throw new MyException("值不正确");}System.out.println("值正确");}
}class MyException extends RuntimeException{//需要继承自RuntimeExceptionpublic MyException(String message){super(message);}
}

http://www.mrgr.cn/news/27246.html

相关文章:

  • 音视频开发常见的开源项目汇总
  • uniapp中使用picker-view选择时间
  • Linux vi常用命令
  • JavaScript性能:使网站快速响应
  • LeetCode题练习与总结:基本计算器 Ⅱ--227
  • 语言的布尔类型
  • leetcode 难度【简单模式】标签【数据库】题型整理大全
  • OpenCV-Python笔记(上)
  • 中间件之RocketMQ
  • Python Logging 限制文件大小
  • 2024年汉字小达人区级自由报名备考冲刺:往年真题练一练
  • [数据集][目标检测]疟疾恶性疟原虫物种目标检测数据集VOC+YOLO格式948张1类别
  • 【洛谷】P2880 [USACO07JAN] Balanced Lineup G 的题解
  • C++学习笔记----7、使用类与对象获得高性能(一)---- 书写类(3)
  • JVM 调优篇7 调优案例1-堆空间的优化解决
  • 打印自身的程序
  • 光伏选址和设计离不开气象分析!
  • CustomerbasicController
  • 【视觉中国-注册安全分析报告-无验证方式导致安全隐患】
  • 面试宝典 | 关于面试/谈Offer/程序员职场生涯大全!