首页 > 编程语言 >Java异常

Java异常

时间:2023-02-23 19:23:30浏览次数:34  
标签:Java 抛出 try catch 异常 throws

Java异常

目录

异常分类

Exception是程序可以捕获并处理的异常,分为运行时异常和非运行时异常

  • 运行时异常:RunTimeException及其子类表示JVM在运行期间可能出现的错误,编译器不会检查这类错误,并且不会要求处理。例如空对象的引用,索引越界等;
  • 非运行时异常:编译器会检查的异常,如果程序中出现,必须进行处理(try-catch捕获或使用throws抛出),否则编译不通过;

常见的异常

运行时异常

  • NullPointerException 空指针异常
  • ArrayIndexOutOfBoundException数组索引越界
  • StringIndexOutOfBoundException字符串越界
  • ClassCastException类型转换异常

编译时异常

  • IOException
  • FileNotFoundException
  • ClassNotFoundException

异常抓抛

  • 异常抓取:try-catchthrows
  • 异常抛出:程序运行时出现异常,JVM根据异常类型在异常代码处创建对应的异常类型的对象并抛出,并终止程序

异常处理

try-catch-finally

将可能出现异常的代码放入try{}中,如果发生异常就会创建一个对应异常类对象,然后与catch的异常类型匹配,匹配一致会被catch捕获,然后运行catch{}中的程序,catch中常用的处理方式有getMessage()和printStackTrace,最后跳出try-catchfinally代码中的代码无论是否有异常都会执行

throws

出现异常时,就会在异常代码处生成一个异常对象,满足throws后会被抛出,之后的代码不执行。该方式用于向方法之上的层级抛出异常,由上一级来解决问题,最终抛给main方法(main可以将异常抛给Java虚拟机)

  • 子类重写方法抛出的异常类型不大于父类被重写的方法抛出的异常类型;
  • 被重写的方法没有throws抛出异常子类重写的方法也不能抛出异常;

自定义异常

标签:Java,抛出,try,catch,异常,throws
From: https://www.cnblogs.com/euler0525/p/17149114.html

相关文章

  • Java基础语法
    基础语法1.单行注释//2.多行注释/**/3.文档注释/***/4.标识符所有的标识符都应该以字母,或者美元符号$,或者下划线(_)开始标识符大小写敏感5.八大基本数据类......
  • java实现发送邮件
    java发送邮件需要先申请邮箱的授权码,对应配置文件中的password。  1.引入jar<dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId......
  • JAVA解析xml
    <?xmlversion="1.0"encoding="UTF-8"standalone="no"?><contacts><tr><td>4</td><td>广州市鼎和机械设备有限公司44</td><td>东莞......
  • oracle dgbroke异常ora-16810
    1.查看状态如下信息2.两个关键命令showdatabase'sbdb'statusreport;showdatabaseverboseSBDB;3.查看状态信息showdatabase'jkzy'statusreport;   ......
  • java
    publicclass代表类名称和文件名字一致基本模板:    ......
  • 「趣学前端」JavaScript标准库
    背景最近睡前习惯翻会书,重温了《JavaScript权威指南》这本书。这本书,文字小,内容多。两年了,我才翻到第十章。因为书太厚,平时都充当电脑支架。JavaScript标准库今天阅读的章节......
  • 网站出现java.lang.NullPointerException怎么解决
    今日小结:要解决这个问题,需要找到引发异常的代码行并确定哪个对象为空。这可以通过检查异常堆栈跟踪来完成,堆栈跟踪将告诉你异常在哪个方法中引发以及哪个对象为空。一旦......
  • Java国际化号码验证方法,国内手机号正则表达式
    Java国际化号码验证方法,国内手机号正则表达式 中国电信号段133、149、153、173、177、180、181、189、199中国联通号段130、131、132、145、155、156、166、175、17......
  • java--BigDecimal 类型介绍
      BigDecimal.add();    //加法BigDecimal.subtract();//减法BigDecimal.multiply();//乘法BigDecimal.divide();  //除法在这些BigDecimal调用的这......
  • java中四种创建线程的方式
    第一种方式:通过编写类继承Thread,重写run方法实现 实现实例:publicclassThreadTest{publicstaticvoidmain(String[]args){System.out.println("ma......