Java菜鸟学习笔记--Exception篇(一):异常简介
什么是异常(Exception)?
简述:
在运行过程中,应用程序可能遭遇各种严重程度不同的问题.异常提供了一种在不弄乱程序的情况下检查错误的巧妙方式.它也提供了一种直接报告错误的机制.
不同类型异常在Java中被封装为不同的类,这也符合我Java里一切都是对象的原则,Java为我们提供了非常完美的异常处理机制。
异常的结构图
既然是类,自然有结构关系,让我们看看这些异常类的结构组成图
JDK文档中的异常类
在JDK文档中,可以查看异常类所有介绍和使用方法
Exception 实例
常见的异常
//2.1算数异常 // System.out.println(8/0);//编译通过
/*运行是输出: Exception in thread "main" java.lang.ArithmeticException: / by zero
at me.testexceptions.TestExceptions.main(TestExceptions.java:13) *///抛出java.lang.ArithmeticException异常int[] a={1,2,3}; // int b=a[3];//编译无错
/* 运行时输出
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at me.testexceptions.TestExceptions.main(TestExceptions.java:25)
*///同样是运行时抛出异常 java.lang.ArrayIndexOutOfBoundsExceptionJava的异常处理机制(try…catch…finally)
try 就像一个网,把try{ }里面的代码所抛出的异常都网住,然后把异常交给 catch{}里面的代码去处理。最后执行finally之中的代码。
无论try中代码有没有异常,也无论catch是否将异常捕获到,finally中的代码都一定会被执行。
try{
int c=9/0; }catch(ArithmeticException my){
//其中my是异常对象,这个形参当系统出现错误抛出异常catch就把异常对象穿过來
System.out.println("出现异常"); //调用my的toString()方法,
System.out.println(my);//输出:java.lang.ArithmeticException: / by zero my.printStackTrace();
/*输出:
java.lang.ArithmeticException: / by zero
at me.testexceptions.TestExceptions.main(TestExceptions.java:35)
*///这个方法追踪异常的详细信息
}
Java菜鸟学习笔记--Exception篇(一):异常简介的更多相关文章
- Java菜鸟学习笔记--数组篇(三):二维数组
定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...
- Java菜鸟学习笔记--数组篇(二):数组实例&args实例
基本类型实例 //1.定义一个一维数组,先声明,在分配空间 int []number;//生命,没有初始化,number=null number=new int[5];//初始化为默认值,int默认值 ...
- Java菜鸟学习笔记--面向对象篇(十五):Wrapper Class包装类
什么是包装类? 在Java里一切都是对象,除了Java中的基本数据类型(byte,short,int,long,char,float,double,boolean)不是面向对象的,这在实际使用时存在很 ...
- Java菜鸟学习笔记--面向对象篇(十八):对象转型&多态
Polymorphism[多态] 简述: 面向对象多态性指的是:发送消息给某个对象,让该对象自行决定响应何种行为. 通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用 多态的三个前提条件: 多 ...
- Java菜鸟学习笔记--面向对象篇(十六):Object类方法
Object类 什么是Object类? Object类是所有Java类的祖先,每个类都使用 Object 作为超类,所有对象(包括数组)都实现这个类的方法Object类是类层次结构的根,Object类 ...
- Java菜鸟学习笔记()--面向对象篇(七):Wrapper Class包装类
什么是包装类? 在Java里一切都是对象,除了Java中的基本数据类型(byte,short,int,long,char,float,double,boolean)不是面向对象的,这在实际使用时存在很 ...
- java web学习笔记-jsp篇
1.java web简介 1.1静态页面与动态页面 表现形式 所需技术 静态网页 网页内容固定,不会更新 html,css 动态网页 网页内容由程序动态显示,自动更新 html,css,DB,ja ...
- [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Java菜鸟学习笔记(23)--继承篇(二):继承与组合
组合是什么 1.继承和组合都是一种随思想渗透而下的编码方式,其根本目的都是为了复用类,减少重复代码 2.要实现一个类的复用,可以分为组合语法和继承语法 3.组合就是通过将一个对象置于一个新类中,将其作 ...
随机推荐
- SGU 153.Playing with matches
题意: 一个取火柴游戏,可以取的数在一个集合S内,S必包含1,且不超过9个数,每个数都不大于9.最后取完者失败. 求n(n<10^9)根火柴时先取的胜利还是后取的胜利. Solution: 典型 ...
- nginx——location 优先级
一. location 的匹配符1.等于匹配符:=等于匹配符就是等号,特点可以概括为两点:精确匹配不支持正则表达式2.空匹配符空匹配符的特点是:匹配以指定模式开始的 URI不支持正则表达式3.正则匹配 ...
- Java认证:JavaRunnable线程编写接口代码
Java认证:JavaRunnable线程编写接口代码.JavaRunnable线程如何才能更好的适应目前的编程环境呢?下面我们就看看如何才能更好的进行相关环境.希望下面的文章对大家有所帮助.Java ...
- openerp report image
webkit : 再mako 文件中插入以下代码, <% %>标签用于再mako中定义代码或者函数. 然后 ${ embed_image('图片类型', 图片字段 , 宽度,高度) } ...
- CVPR2011录取结果
CVPR2011论文录取已经结束了,虽然论文都还没有在线公布出来,不过相信http://www.cvpapers.com/会很快有的.这里大体看一下结果统计与分析: At the end of the ...
- PLSQL Developer如何设置自动打开上次编辑的文件
作为开发人员经常把sql语句保存到文件中以方便下次继续使用,问题是plsqlDev重启后每次都需要手工打开这个文件,好不方便: 以下设置是plsqlDev启动后自动打开上次编辑的文件. 选择配置> ...
- 生成mif文件的几种方法总结
mif文件就是存储器初始化文件,即memory initialization file,用来配置RAM或ROM中的数据.生成QuartusII11.0可用的mif文件,有如下几种方式: 方法1:利用Q ...
- beego路由实现原理
树形结构+递归算法实现路由的注册与匹配: 1 数据结构: // 树节点结构type Tree struct { //search fix route first fixrouters map[stri ...
- Oracle问题解决(远程登录失败)
远程机: 安装 Oracle 的计算机: 本地机: 访问远程机 Oracle 的计算机. 一.问题描述 远程机安装 Oracle 成功. 本地机配置 InstantClient 后, PLSql De ...
- PLSQL 看连接数据库的用户
1. PLSQL选用SYSDBA登录,用户sys,密码xxx 2. 登录后,点tools菜单有sessions子菜单, 3.点击sessions子菜单,可以看到连接用户