Java——异常——运行时异常与编译时异常

①编译时异常

1、经常会在程序编译时产生一些异常,而这些异常必须要进行处理,这种异常被称为编译时异常,也称为checked异常。

2、在Java中,Exception类中除了RuntimeException类及其子类都是编译时异常。

3、特点
Java编译器会对其进行检查,如果出现问题异常就必须对异常进行处理,否则程序无法通过编译。

4、处理异常方法:使用try…catch语句对异常进行捕获。使用throws关键字声明抛出异常,调用者对其处理。

②运行时异常

1、在程序运行时产生异常,这种异常即使不编写异常处理代码,依然可以通过编译,因此称为运行时异常,也称为unchecked异常。

2、RuntimeException类及其子类都是运行时异常。

3、特点
Java编译器不会对其进行检查,也就是说,当程序中出现这类异常时,即使没有使用tyr…catch语句捕获或使用throws关键字声明抛出,程序编译也能通过。
运行时异常一般是由程序中的逻辑错误引起的,在程序运行时也无法恢复。

例子

数组角标访问数组时,如果超过了数组的最大角标,就会引发异常。

int[] arr = new int[5];
System.out.println(arr[6]);

发生数组角标越界异常

Java——异常——运行时异常与编译时异常相关推荐

  1. java多态编译,java多态 运行时多态和编译时多态

    java多态 运行时多态和编译时多态 我们知道java的多态是一个重要的特性,其中体现java的多态有两种形式.运行时的多态和编译时的多态. 编译时的多态会发生在方法重载的时候,方法的重载指方法名相同 ...

  2. java编译时多态和运行时多态_运行时多态、编译时多态和重载、重写的关系(不区分Java和C#,保证能看懂!)...

    以前在大学学习OOP的时候,知道了重载和重写的区别,但如果要把他们和多态联系起来,我想很多新手朋友和我当初一样是死记的,可是时间长了,自然而然就忘记了,最近在写测试的时候,终于"开窍&quo ...

  3. java面向对象三大特性之多态---编译时多态和运行时多态详解

    一.引言 1.什么是多态? 说到重载和重写,大家可能都知道.它们都是多态性的体现,那么说什么是多态呢?多态是指允许不同子类型的对象对同一行为作出不同的响应.例如在生活中,比如跑的动作,小猫.小狗和大象 ...

  4. android 学习 解决R.java不能自动生成问题,编译时adb.exe 找不到问题

    android 学习 解决R.java不能自动生成问题,编译时adb.exe 找不到问题 参考文章: (1)android 学习 解决R.java不能自动生成问题,编译时adb.exe 找不到问题 ( ...

  5. 基于ubuntu-20.04.3的snort+Barnyard2+BASE的入侵检测系统安装时Barnyard2反编译时出错解决

    基于ubuntu-20.04.3的snort+Barnyard2+BASE的入侵检测系统安装时Barnyard2反编译时出错解决 在按照https://www.modb.pro/db/159797大佬 ...

  6. 【Groovy】编译时元编程 ( 编译时方法注入 | 使用 buildFromSpec、buildFromString、buildFromCode 进行方法注入 )

    文章目录 一.在 MyASTTransformation#visit 方法中进行方法注入 1.使用 new AstBuilder().buildFromSpec 进行方法注入 2.使用 new Ast ...

  7. 【Groovy】编译时元编程 ( 编译时方法拦截 | 在 MyASTTransformation#visit 方法中进行方法拦截 )

    文章目录 一.在 MyASTTransformation#visit 方法中进行方法拦截 二.完整代码示例及进行编译时处理的编译过程 1.Groovy 脚本 Groovy.groovy 2.ASTTr ...

  8. java找不到符号_java编译时找不到符号,怎么处理

    已采纳 java编译时提示找不到符号的解决方式如下: 方法一: 进入d:/web/wsh下: javac a.java 然后退出wsh目录即进入d:/wsh下 javac wsh/b.java即可编译 ...

  9. 动态so库的链接:运行时链接和编译时链接

    在编写Makefile时,如果一个程序需要链接so库,则需要通过两个步骤来完成,分为运行时动态库的链接和编译时动态库的链接,缺一不可. 1.运行时动态库的链接 在执行可执行文件时,提示: error ...

  10. vs编译c语言停止工作运行库mt,vc++编译时运行库选择(/MT/MTd/MD/MDd)

    vc++编译时运行库选择(/MT/MTd/MD/MDd) vc++编译时运行库选择(/MT./MTd./MD./MDd) 在vs中,项目属性 ->C/C++ ->代码生成 ->运行库 ...

最新文章

  1. html5边框顶格,CSS 三种定位方式以及格式化上下文详解 》 html5jscss
  2. python中5个json库的速度对比,你猜对了吗
  3. 微信公众号开发之服务器接入指南之Java版本
  4. 视频光端机选型及常见品牌
  5. 为什么要使用工业以太网交换机?
  6. python selenium模拟键盘_SELENIUM自动化模拟键盘快捷键操作实现解析
  7. java中的IO操作之File类
  8. HDOJ 2955 Robberies (01背包)
  9. 12-贝叶斯算法(知识准备)
  10. C++ 11互斥锁的应用(针对于多线程的情况)
  11. pythotn基础篇——条件分支与循环--4
  12. 【转载】太完美_Windows XP SP3 极度精简克隆版 【2014】
  13. VUE前端+Node后台模拟打印机Web即时打印
  14. 高斯公式(div:点乘)
  15. Mysql主从同步时Slave_IO_Running:Connecting ; Slave_SQL_Running:Yes的情况故障排除
  16. Linux杀毒软件之ClamAV使用详解
  17. 一款游戏让你成为 Vim 高手!
  18. ipad可以装二级计算机培训吗,当初给孩子买iPad上网课的家长,开始后悔了……
  19. Kubernetes中RBAC实战一 servicecount 10月2日实验笔记
  20. 解决华为手机InputMethodManager和GestureBoostManager的内存泄露的问题

热门文章

  1. Centos 安装DNS服务器并配置无查询结果转发功能
  2. Nacos 内存参数修改调优
  3. 数据库锁的详解, 共享锁, 更新锁, 排它锁, 意向锁, 加锁原理
  4. 如何压缩zip格式的文件
  5. 设计模式 - 抽象文档
  6. linux7怎么安装图形界面,CentOS7安装图形化界面方法
  7. 如何从maven官网下载maven版本包
  8. 5个超好用手机开源自动化工具,哪个适合你?
  9. mysql 删除重复数据 保留一个_MySQL学习笔记-删除重复数据只保留一条
  10. linux中yum安装splunk,Splunk tips