【程序员养成之路】Java基础篇 5-从异常机制认识常见bug

以下内容若有误,欢迎私信我或在下方留言,谢谢^_−


异常机制

1.异常的概念

什么是异常?百度百科是这么说的,异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。在Java等面向对象的编程语言中异常属于对象。

通俗地理解,就是当程序读取数据库数据时,数据是空的;程序要打开某个文件时,文件不存在或是文件格式不对;当访问数组时,访问的位置超过数组长度……这些所产生的问题,都称为异常(Exception)

2.分类

(1)Error

Error是“错误”的意思,表示严重的问题,合理的应用程序不应该试图捕获。比如硬件问题、内存资源不足等。

(2)RuntimeException

RuntimeException是“运行时异常”的意思,是指在编译期间不进行检查,但出现问题后就需要去修改代码。

(3)非RuntimeException

非RuntimeException是指非运行时异常,也有称为检查时异常,即程序在编译期间就必须处理的异常,否则程序将无法通过编译,更无法正常运行。

3.异常体系结构

throwable

(1)Error
  • VirtualMachineError:表示Java虚拟机已损坏或已耗尽资源以使其继续运行。
    • StackOverFlowError:表示堆栈大小超过内存分配的限制。
    • OutOfMemoryError:表示Java虚拟机由于内存不足而无法分配对象,且垃圾收集器不再有可用的内存。
  • AWTError:表示出现了严重的抽象窗口工具包错误。
(2)Exception
  • IOException:表示输入输出异常,可能是由失败或中断的I / O操作产生的。
    • EOFException:表示在输入过程中意外地到达文件结束或流结束。许多其他输入操作在流的末尾返回特殊值,而不是抛出异常。
    • FileNotFoundException:表示通过指定路径找不到文件。
  • RuntimeException
    • ArithmeticException:表示算术异常,比如“1/0”则会抛出该异常。
    • MissingResourceException:表示资源丢失。
    • ClassNotFoundException:表示应用程序尝试通过其字符串名称加载到类。也就是找不到类包,一般原因是没有导包或者导包不完整。
    • NullPointerException:表示空指针异常,即空引用,引用本身为空,却调用了方法。
    • IllegalArgumentException:表示传递了非法参数。
    • ArrayIndexOutOfBoundsException:表示使用非法索引访问数组,索引为负数或大于或等于数组大小。

4.基本框架

	/*
	    处理异常的基本框架
	 */
	try {                       // 监控区域
	                            // 可能发送异常的语句
	} catch (Exception e) {     // 捕获异常,Exception可以是其它类型的异常
	    e.printStackTrace();    // 向控制台打印异常信息
	} finally {                 // 善后处理,无论是否发生异常,都会执行
	                            // IO流中可以用于释放资源
	}

【程序员养成之路】Java基础篇 1-聊聊Java那些事

【程序员养成之路】Java基础篇 2-初学Java必知的基础语法

【程序员养成之路】Java基础篇 3-反手就能写个冒泡排序的数组

【程序员养成之路】Java基础篇 4-从面向对象里找对象

【程序员养成之路】Java基础篇 6-啥都能“装”的集合

【程序员养成之路】Java基础篇 7-流进流出的IO流(一)

【程序员养成之路】Java基础篇 8-流进流出的IO流(二)

【程序员养成之路】Java基础篇 9-认识一下类加载器与反射


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

正则表达式1951

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值