当前位置: 首页 > news >正文

厦门微网站制作十三师建设局网站

厦门微网站制作,十三师建设局网站,网络系统管理员获取ip地址,网站后台 生成所有页面目录 1. 异常的概念与体系结构 1.1 异常的概念 1. 算术异常 2. 数组越界异常 3. 空指针异常 1.2 异常的分类 1. 编译时异常 2. 运行时异常 2.1 异常的处理 防御式编程 2.2 异常的捕获 2.3.1 异常声明throws 2.3.2 try-catch捕获并处理 2.3.3 finally 总结 1. 异常…

目录

1. 异常的概念与体系结构

1.1 异常的概念

1. 算术异常

2. 数组越界异常

3. 空指针异常

1.2 异常的分类

1. 编译时异常

2. 运行时异常

2.1 异常的处理

 防御式编程

2.2 异常的捕获

2.3.1 异常声明throws

2.3.2 try-catch捕获并处理

2.3.3 finally

总结


1. 异常的概念与体系结构

1.1 异常的概念

Java中,将程序执行过程中发生的不正常行为称为异常

1. 算术异常

System.out.println(10 / 0);
// 执行结果
Exception in thread "main" java.lang.ArithmeticException: / by zero

2. 数组越界异常

int[] arr = {1, 2, 3};
System.out.println(arr[100]);
// 执行结果
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 100

3. 空指针异常

int[] arr = null;
System.out.println(arr.length);
// 执行结果
Exception in thread "main" java.lang.NullPointerException

1.2 异常的分类

1. 编译时异常

public class Person {
private String name;
private String gender;
int age;
// 想要让该类支持深拷贝,覆写Object类的clone方法即可
@Override
public Person clone() {
return (Person)super.clone();
}
}
编译时报错:
Error:(17, 35) java: 未报告的异常错误java.lang.CloneNotSupportedException; 必须对其进行捕获或声明以便抛出

2. 运行时异常

RunTimeException 以及其子类对应的异常,都称为运行时异常 。比如: NullPointerException
ArrayIndexOutOfBoundsException ArithmeticException

2.1 异常的处理

 防御式编程

1. LBYL : Look Before You Leap. 在操作之前就做充分的检查 . 即: 事前防御型
boolean ret = false;
ret = 登陆游戏();
if (!ret) {
处理登陆游戏错误;
return;
}
ret = 开始匹配();
if (!ret) {
处理匹配错误;
return;
}
ret = 游戏确认();
if (!ret) {
处理游戏确认错误;
return;
}
ret = 选择英雄();
if (!ret) {
处理选择英雄错误;
return;
}
ret = 载入游戏画面();
if (!ret) {
处理载入游戏错误;
return;
}

2. EAFP : It's Easier to Ask Forgiveness than Permission. " 事后获取原谅比事前获取许可更容易 ". 也就是先操
, 遇到问题再处理 . 即: 事后认错型
try {
登陆游戏();
开始匹配();
游戏确认();
选择英雄();
载入游戏画面();
...
} catch (登陆游戏异常) {
处理登陆游戏异常;
} catch (开始匹配异常) {
处理开始匹配异常;
} catch (游戏确认异常) {
处理游戏确认异常;
} catch (选择英雄异常) {
处理选择英雄异常;
} catch (载入游戏画面异常) {
处理载入游戏画面异常;
}

2.2 异常的捕获

2.3.1 异常声明throws

处在方法声明时参数列表之后,当方法中抛出编译时异常,用户不想处理该异常,此时就可以借助 throws 将异常抛
给方法的调用者来处理。即 当前方法不处理异常,提醒方法的调用者处理异常
语法格式:
修饰符 返回值类型 方法名(参数列表) throws 异常类型1,异常类型2...{
}

2.3.2 try-catch捕获并处理

语法格式:
try{
// 将可能出现异常的代码放在这里
}catch(要捕获的异常类型 e){
// 如果try中的代码抛出异常了,此处catch捕获时异常类型与try中抛出的异常类型一致时,或者是try中抛出异常的基类
时,就会被捕获到
// 对异常就可以正常处理,处理完成后,跳出try-catch结构,继续执行后序代码
}[catch(异常类型 e){
// 对异常进行处理
}finally{
// 此处代码一定会被执行到
}]
// 后序代码
// 当异常被捕获到时,异常就被处理了,这里的后序代码一定会执行
// 如果捕获了,由于捕获时类型不对,那就没有捕获到,这里的代码就不会被执行
注意:
1. []中表示可选项,可以添加,也可以不用添加
2. try中的代码可能会抛出异常,也可能不会

2.3.3 finally

语法格式:
try{
// 可能会发生异常的代码
}catch(异常类型 e){
// 对捕获到的异常进行处理
}finally{
// 此处的语句无论是否发生异常,都会被执行到
}
// 如果没有抛出异常,或者异常被捕获处理了,这里的代码也会执行
注意: finally 中的代码一定会执行的,一般在 finally 中进行一些资源清理的扫尾工作

总结

以上是一些常见的异常信息,针对不同的异常要根据其特点选择怎么样去修改,会事半功


希望这篇博客能帮助正在学习的读者,提供一点思路和方法

http://www.yayakq.cn/news/700754/

相关文章:

  • 词爱站的关键词百度移动端排名软件
  • 公司需要一个简单的网站建网站哪家划算
  • 哪个建站系统好有没有做淘宝首页特效的网站
  • 石景山网站制作网站建设的技术目标
  • 做曖网站免费网站在线观看人数在哪直播
  • 郑州网站建设 股权投资中国商标查询网官网
  • 怎么做网站销售省级住房城乡建设主管部门网站
  • iis怎么建设网站内容南昌seo
  • 网站建设培训班南宁网站开发 前端 后端 如何结合
  • 河南省住房和城乡建设厅二维码网站长沙100强企业排名
  • 网站制作一条龙全包vs2013 网站建设
  • 开发高端网站建设价格网站加百度商桥
  • 网站界面设计套题软件游戏开发公司
  • 学了lamp做网站就足够了吗中国十大网站建设
  • 在因特网上建设网站可选择的方案有学做电商需要什么条件
  • 网站自建设需要买什么24小时最新军事新闻
  • 站长工具高清有吗腾讯云服务器备案
  • 做的比较好的货运网站中国企业网中国商报
  • 寺庙招人做网站维护吗网站页面数怎么做
  • 深圳公司开发网站如何被百度收录
  • 公司做网站用什么主机苏州网站建设推广服务
  • 郑州高端网站案例网络空间租用价格
  • 文化传媒公司能否建设经营网站北京网站建设问问q778925409霸屏
  • 企业网站建设和维护一舍设计公司
  • 哈尔滨模板做网站wap网站报价
  • 河北网站设计推荐柚米科技如何给异地网站做镜像
  • 查企业有哪些平台门户网站优化方案
  • 国家水资源监控能力建设网站金融行业做网站需要什么
  • 深圳网站建设公司佳速互联北京网站建设平台
  • 网络考试株洲seo优化首选