首页 > 编程语言 >Java异常分类和常见异常

Java异常分类和常见异常

时间:2023-07-05 10:35:27浏览次数:39  
标签:Java String void 分类 System str 异常 public

1.异常

异常:执行中发生的不正常情况。

分为两类:

  • Error:JVM系统内部错误、资源耗尽等严重情况。比如Stack OverflowError和 Out Of Memory。
  • Exception:空指针访问、试图读取不存在的文件、网络连接中断、数组下标越界。

解决办法:① 终止程序运行;② 错误检测提示处理。

2.异常分类

程序执行过程,先编译后执行。

(1)从程序执行的过程可以将异常分为

  • 编译时异常:执行javac.exe命名时,可能出现的异常
  • 运行时异常:执行java.exe命名时,出现的异常

(2)从继承关系看,异常的体系结构

 

 

3.常见异常

(1)数组下标越界ArrayIndexOutOfBoundsException

public void test2() {
    String str = "abc";
    System.out.println(str.charAt(3));
}

(2)空指针异常NullPointerException

public void test1() {
    String str = "abc";
    str = null;
    System.out.println(str.charAt(0));
}

(3)算术异常ArithmeticException

public void test6(){
    int a = 10;
    int b = 0;
    System.out.println(a / b);
}

(4)类型转换异常ClassCastException

public void test3(){
        Object o = new Object();
        String s = (String)o;
}

(5)数字格式化异常

public void test4() {
    String str = "123";
    str = "abc";
    int num = Integer.parseInt(str);
}

(6)输入不匹配异常InputMismatchException
输入字符串aaa

public void test5() {
    Scanner scanner = new Scanner(System.in);
    int score = scanner.nextInt();
    System.out.println(score);
 
    scanner.close();
}

 








标签:Java,String,void,分类,System,str,异常,public
From: https://www.cnblogs.com/xiaotian0422/p/17527841.html

相关文章

  • 设备驱动-10-异常中断引入
    1中断与异常CPU在运行的过程中,也会被各种“异常”打断。这些“异常”有:1.指令未定义2.指令、数据访问有问题SWI(软中断)快中断中断中断只是一种(一类)异常而已。导致中断发生的情况有很多,比如:按键定时器ADC转换完成UART发送完数据、收到数据这些众多的“中断源......
  • Java高级
    第06章:随堂复习与企业真题(面向对象-基础)一、随堂复习1.(了解)面向过程vs面向对象不管是面向过程、面向对象,都是程序设计的思路。面向过程:以函数为基本单位,适合解决简单问题。比如:开车面向对象:以类为基本单位,适合解决复杂问题。比如:造车2.类、对象类:抽象的,概念......
  • 基于词袋(Bag of Words)和SVM的图片分类
    目录摘要源码及完整报告:词袋(BagofWords,BoW)基于词袋模型的图片分类基本流程多尺度空间极值点检测关键点精确定位关键点主方向计算生成描述子特征词典的生成SVM分类器实验结果总结参考文献源码及完整报告:摘要虽然现在已经是深度学习的时代了,传统的机器学习方法日渐甚微,不过有......
  • 面试类-Java基础 (一)
    JVM、JDK和JRE有什么区别? JVM:JavaVirtualMachine,Java虚拟机,Java程序运行在Java虚拟机上。针对不同系统的实现(Windows,Linux,macOS)不同的JVM,因此Java语言可以实现跨平台。JRE:Java运⾏时环境。它是运⾏已编译Java程序所需的所有内容的集合,包括Java虚拟机(JVM),Java......
  • [Java]线段树
    线段树不含懒标记(单点修改)代码维护区间最大/最小值Node[]tr=newNode[400010];classNode{intl,r,max,min;Node(intl,intr,intmax,intmin){this.l=l;this.r=r;this.max=max;this.min=min;}}vo......
  • 面试现场简单几道java算法题, 你能写出几道?
    这两天小编逛论坛的时候发现一个很有意思的事情,就是一位互联网公司的面试官分享的,他们最近想招一批java的实习生,所以他们的面试题并不难,但是前来面试的人,却很多都挂在了几道算法题上,要么就是逻辑不严谨,要么就是题目都看不懂的,还有就是书写错误的,这让他感到很诧异,毕竟算法其实对于......
  • Java源码系列4——HashMap扩容时究竟对链表和红黑树做了什么?
    Photobyhippopx.com我们知道HashMap的底层是由数组,链表,红黑树组成的,在HashMap做扩容操作时,除了把数组容量扩大为原来的两倍外,还会对所有元素重新计算hash值,因为长度扩大以后,hash值也随之改变。如果是简单的Node对象,只需要重新计算下标放进去就可以了,如果是链表和红黑......
  • Java17新特性及代码示例:还在使用Java8? 这5个Java17新功能,你会喜欢的
    SpringBoot3.0最低支持JDK17,各开源软件正在全面拥抱JDK17.有升级计划的调查受访者中,37%的人计划在未来六个月内升级到2021年9月份发布的LTS版本JDK17。另有25%的人计划在未来6到12个月内升级到JDK17。这5个你喜欢的JDK17新功能,会让你升级JDK17吗?1.record类(记录类)传统的......
  • Java9-17新特性解读+案例+说明+注意+发展趋势
    前言Java8出来这么多年后,已经成为企业最成熟稳定的版本,相信绝大部分公司用的还是这个版本,但是一眨眼今年Java19都出来了,相信很多Java工程师忙于学习工作对新特性没什么了解,有的话也仅限于某一块。本篇就是博主对自己感觉有用的新特性做了一个案例验证及简要说明,整合起来分享给......
  • 错误和异常
    编译阶段错误当java源文件中有public的类,这个类必须和源文件的名字一致运行阶段错误在类中没有定义主方法时,会发生运行阶段错误递归没有结束条件的时候,会发生栈溢出错误StackOverflowError编译时异常运行时异常空引用访问实例相关的数据,会发生空指针异常java.lang.......