Java 异常处理 之 捕获处理流程
http://www.verejava.com/?id=16992991138281
package com.exception2;
/**
注意:
1. 当异常发生的时候,程序会终止,其后面的代码不会执行.
2. 异常分为编译时异常和运行期异常
编译期异常必须用 try{}catch{}捕获,运行期异常可以不捕获
编译期异常从 Exception 继承, 运行期异常从RuntimeException 继承
异常的处理流程
注意:
1. try{}catch{} 代码块里的局部变量, 不能在其外访问. 所以如果要访问
最好在try catch 代码块外定义,然后再使用.
2. 异常执行流程 当异常发生时,首先系统产生一个异常实例, 如果没有try catch
代码块报异常终止执行, 如果遇到try catch 代码块, 系统会把异常实例跟
catch() 里面的异常对象依次从上往下进行匹配,如果匹配成功进入 catch{} 代码块. 否则
报异常终止执行.
3. Exception 是异常的根类, 根据多态原则,所以所有的异常实例都可以转为Exception
这样通过 Exception 就可以捕获到所有出现的异常.
4. finally{ }代码块的内容不管是否有异常 都会执行。 用来释放资源,比如
关闭文件,关闭数据库连接等。
5. finally{} 代码块的语句, 是在return 之前运行的.
*/
public class TestException {
public static void main(String[] args) {
int[] scores = { 60, 70, 80 };
try {
System.out.println(scores[3]);
System.out.println(3 / 0);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组越界异常");
} catch (ArithmeticException e) {
System.out.println("数学异常");
} catch (Exception e) {
System.out.println("发生了异常");
}
}
}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Java 异常处理 之 finally关键字
http://www.verejava.com/?id=16992983599280 package com.exception; public class TestException3 { public static void main(String[] args) { Caculator c = new Caculator(); //java.lang.ArithmeticException 数学算法异常 c.div(10, 2); System.out.println("div 执行完了"); } } class Caculator { //两个数相除 public int div(int a, int b) { int result = 0;//局部变量需要给初始值 try { //在 try catch 定义的局部变量 不能其外部访问 //当try 里面发生异常的时候 其后面的代码 ,终止执行,直接调到 catch 执行 result = a / b; System.out.println("aaaaaaa"); return result; } catch (Excepti...
-
下一篇
Java 异常处理 之 实例
http://www.verejava.com/?id=16992994231782 package com.exception2; /** 题目: 老师正在给学生上课, 突然某个学生说网络断了, 老师你来帮助处理一下 没办法,我只能去找网管 */ //网管类 public class TestException3 { public static void main(String[] args) throws MyException { //实列化一个老师 Teacher t = new Teacher("胡杨"); //实列化学生 Student s = new Student("候文桌"); //老师 在 教学生上课 //网管说我来处理 t.teach(s); } } class Teacher { private String name; public Teacher(String name) { this.name = name; } //老师正在给学生上课 public void teach(Student s) throws MyException { //老师正在给学生上...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- MySQL数据库在高并发下的优化方案
- SpringBoot2配置默认Tomcat设置,开启更多高级功能