即使是有经验的程序员,也难免出现编程错误。 在程序运行时出现一些非正常的现象被称为运行时错误,如除数为0,数组下标越界,文件不存在,内存不够用等等0 分类:根据错误性质将运行时错误分为两类 Java中预定义了很多异常类,每个异常类代表一种运行错误 “异常”对象是Java运行时堆某些“异常”情况作出反应而产生的。如果不处理“异常”会有什么样的情况发生? 程序没有提供任何处理异常的异常处理程序,所以该异常被Java运行时系统的默认处理程序捕获,显示一个描述异常的字符串,打印异常发生出的堆栈轨迹并且终止程序。 Java提供了异常处理机制,通过面向对象的方法来处理异常。 异常捕获 使用try-catch-finally语句捕获和处理异常 注意: 一个catch块只能处理一类异常,当try块中的与剧组可能抛出多种异常时,就需要有多个catch来分别处理各种异常。 一个try语句可以在另一个try块内部—-try语句的嵌套 笔记源于上课老师的PPT
异常处理的基础知识
文章目录
编程错误分类
运行时错误(runtime error)
例:程序进入了死循环,递归无法结束,内存溢出等,这些运行错误是致命性的错误,只能在编程阶段解决,运行时程序本身无法解决,只能依靠其他程序干预,否则会一直处于非正常状态。
错误处理一般由系统承担,语言本身不提供错误处理机制。
例:除数为0,操作数超出数据范围,文件并不存在,欲装入的类文件丢失,网络连接中断等,这类现象称为非致命性的异常。
是可以检测和处理的,所以产生了相应的异常处理机制。异常处理的类层次
常用的Exception类的子类:
异常类
描述
NullPointerException
空指针异常
ArrayIndexOutOfBoundsException
数组越界访问异常
ClassNotFoundException
试图访问一个根本不存在的类
IOException
输入/输出异常
NumberFormatException
错误的类型转换异常
ArrayStoreException
当向数组存入错误类型数据时
ArithmeticException
除数为0的算数异常
未被捕获“异常”
public class _519test { public static void main(String[] args) { //当执行到该语句时,系统检测到被0除,构造一个“异常”对象来发异 int a = 4 / 0; } }
异常处理机制
使用方法
格式:try{ //可能产生异常的语句 } catch(异常类 变量){ //异常处理代码 } [finally{ //必须执行的代码,可有可无 }]
try语句块
catch块
例如:try{ int a = 4 / 0; }catch(ArithmeticException e){ System.out.println(e.toString()); }
一个try和它的catch语句组成了一个单元。catch字句的范围限制于try语句块中的语句。一个catch语句不能捕获另一个try声明所引发的异常(除非是嵌套的try语句情况)。被try保护的语句声明必须在一个大括号内,try语句块不能单独使用。多个catch块
try语句的嵌套
未完…
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算