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

母婴网站建设 社区公司网站建设费用包括哪些

母婴网站建设 社区,公司网站建设费用包括哪些,查询网站备案号,推广的网站1.异常的分类 1. 非运行时异常(Checked Exception) Java中凡是继承自Exception但不是继承自RuntimeException的类都是非运行时异常。 2. 运行时异常#xff08;Runtime Exception/Unchecked Exception#xff09; RuntimeException类直接继承自Exception类#xff0c;称为运… 1.异常的分类    1. 非运行时异常(Checked Exception)          Java中凡是继承自Exception但不是继承自RuntimeException的类都是非运行时异常。    2. 运行时异常Runtime Exception/Unchecked Exception  RuntimeException类直接继承自Exception类称为运行时异常。 Java中所有的运行时异常都直接或间接的继承自RuntimeException。 Java中所有的异常类都直接或间接的继承自Exception。2.异常的处理     一、对应非运行时异常必须对其进行处理。处理方式有两种   使用try…catch…finally语句块进行捕获  在产生异常的方法所在的方法声明throws Exception    二、对于运行时异常可以不对其进行处理也可以对其进行处理。一般情况下都不对其进行处理。       在使用Java API的方法时会产生异常由于实际的需要我们需要创建和使用自定义异常。使用全新的异常类应用到系统程序中。在介绍自定义异常时首要先谈谈什么要使用自定义异常使用自定义异常的好处。创建自定义异常是为了表示应用程序的一些错误类型为代码可能发生的一个或多个问题提供新的含义可以显示代码多个位置之间的错误的相似处也可区分代码运行时可能出现的相似问题的一个或多个错误或给出应用程序中一组错误的特殊含义。应用场景       服务器的基本作用是处理与客户机的通信若使用标准Java API(如java.io和java.net包中的类)来编写服务器则可使编写的代码在多个位置抛出IOException。在设置服务器、等待客户机连接和获取通讯流时可抛出IOException在通信期间及试图断开连接时也会抛出IOException。简而言之服务器的各个部分都是引发IOException。       对于服务器而言这样IOException意义不尽相同。虽然由同一异常类型表示但与各个异常先关的业务含义存在差异报告和恢复操作也不相同。所以可以将一个异常集与服务器配置和启动问题关联将另一个异常集与客户机通讯的实际行动关联将第三个异常集与服务器关闭任务关联。使用自定义异常可采用对应用程序有意义的方式来灵活地表示错误。为此我们需要使用自定义异常来定为问题定位问题与异常实际准确的位置。自定义异常类过程        1. 多数情况下只需要继承异常类Exception, 经常需要定义一个或多个构造函数以在对象中存储错误消息。扩展  类java.lang.Throwable是所有异常类的基类它包括两个子类Exception和ErrorException类用于描述程序能够捕获的异常如ClassNotFoundException。Error类用于指示合理的应用程序不应该试图捕获的严重问题如虚拟机错误VirtualMachineError自定义异常类可以继承Throwable类或者Exception类而不要继承Error类。自定义异常类之间也可以有继承关系需要为自定义异常类设计构造方法以方便构造自定义异常对象。        在继承任何异常时将自动继承Throwable类的一些标准特性如 错误消息栈跟踪异常包装        若要在异常中添加附加信息则可以为类添加一些变量和方法。本例演示的自定义异常没有按照业务类型来命名而是创建一个通用异常类以retCd来区别发生异常的业务类型与发生位置当然对于具体的retCd值事先必须有具体的规定或说明。 package com.example.exception;import lombok.Getter;/*** 多数情况下创建自定义异常需要继承Exception本例继承Exception的子类RuntimeException* author: GuanBin* date: Created in 上午11:39 2019/5/22*/ Getter public class CustomerException extends RuntimeException {private String resultCode; //异常对应的返回码private String messageDescription; //异常对应的描述信息public CustomerException (){super();}public CustomerException (String massage){super(massage);messageDescriptionmassage; } public CustomerException (String massage,String resultCode){ super(); this.resultCoderesultCode; this.messageDescriptionmassage; } }   2. 声明方法抛出自定义异常。为了使用自定义异常必须通知调用代码的类要准备处理这个异常类型。为此声明一个或多个方法抛出异常。找到异常发生点新建异常并加上关键字throw。   package com.example.java8test.exception;import com.example.exception.CustomerException;/*** author: GuanBin* date: Created in 上午11:46 2019/5/22*/ public class exceptionTest {public static void main(String[] args) {try {testException();} catch (CustomerException e) {e.printStackTrace();System.out.println(MsgDes\t e.getMessageDescription()); System.out.println(RetCd\t e.getResultCode()); } } public static void testException() throws CustomerException{ throw new CustomerException(10,String[] strss length 4); } }   以下的自定义异常的最佳实践摘自网络经过参考扩展使用。使用异常的最佳实践  下面的部分我们列出了客户端代码处理 API 抛出异常的一些最佳实现方法。  1. 记得释放资源  如果你正在用数据库或网络连接的资源要记得释放它们。如果你使用的 API 仅仅使用 unchecked exception你应该用完后释放它们使用 try-final。 1 public void dataAccessCode() {2 Connection conn null;3 try {4 conn getConnection();5 //..some code that throws SQLException6 } catch (SQLException ex) {7 ex.printStacktrace(); 8 } finally { 9 DBUtil.closeConnection(conn); 10 } 11 } 12 13 class DBUtil { 14 public static void closeConnection 15 (Connection conn) { 16 try { 17 conn.close(); 18 } catch (SQLException ex) { 19 logger.error(Cannot close connection); 20 throw new RuntimeException(ex); 21 } 22 } 23 }   DBUtil 是一个关闭连接的工具类。最重要的部分在于 finally无论异常发不发生都会执行。在这个例子中finally 关闭了连接如果关闭过程中有问题发生的话会抛出一个 RuntimeException。  2. 不要使用异常作控制流程之用  生成栈回溯是非常昂贵的栈回溯的价值是在于调试。在流程控制中栈回溯是应该避免的因为客户端仅仅想知道如何继续。  下面的代码一个自定义的异常 MaximumCountReachedException用来控制流程。 1 public void useExceptionsForFlowControl() {2 try {3 while (true) {4 increaseCount();5 }6 } catch (MaximumCountReachedException ex) { 7 } 8 //Continue execution } 9 public void increaseCount ()throws MaximumCountReachedException { 10 if (count 5000) 11 throw new MaximumCountReachedException(); 12 }   useExceptionsForFlowControl使用了一个无限的循环来递增计数器直至异常被抛出。这样写不仅降低了代码的可读性也让代码变得很慢。记住异常仅用在有异常发生的情况。  3. 不要忽略异常  当一个 API 方法抛出 checked exception 时它是要试图告诉你你需要采取某些行动处理它。如果它对你来说没什么意义不要犹豫直接转换成 unchecked exception 抛出千万不要仅仅用空的{}catch 它然后当没事发生一样忽略它。  4. 不要 catch 最高层次的 exception  Unchecked exception 是继承自 RuntimeException 类的而 RuntimeException 继承自 Exception。如果 catch Exception 的话你也会 catch RuntimeException。try{..}catch(Exception ex){} 上面的代码会忽略掉 unchecked exception。  5. 仅记录 exception 一次  对同一个错误的栈回溯(stack trace)记录多次的话会让程序员搞不清楚错误的原始来源。所以仅仅记录一次就够了。  总结这里是我总结出的一些异常处理最佳实施方法。我并不想引起关于 checked exception 和 unchecked exception 的激烈争论。你可以根据你的需要来设计代码。我相信随着时间的推移我们会找到些更好的异常处理的方法的。 转载自https://blog.csdn.net/mahoking/article/details/45064259 转载于:https://www.cnblogs.com/guanbin-529/p/10905445.html
http://www.sadfv.cn/news/127251/

相关文章:

  • 网站的关键词策略wordpress媒体库文件
  • 网站服务器多少钱网站运营的工作内容
  • 建设一个导航网站typecho用Wordpress插件
  • 黄页88网站推广效果工程造价信息价在什么网站查
  • 网站建设方案论文ppt模板免费下载 素材小清新
  • 工程造价信息网站微分销免费平台
  • 建设网站有哪些星巴克网络营销案例分析
  • 关于网站建设管理的通知怎么做刷东西网站
  • 网站动态图是怎么做的找人做网站注意什么问题
  • 网站建设便宜网站后台管理系统进不去怎么办
  • 如何在百度网站收录提交入口家政网站建设方案
  • 免费网站制作器wordpress编辑模板标题
  • 网页给别人做的 网站后续收费吗wordpress文章静态化
  • 大学生网站策划书说明书好看的 网站后台模板
  • 网站建设与维护 书网络运维工程师需要具备什么证书
  • 做旅游网站的数据怎么来互联网网站开发的未来方向
  • ie建设企业网站进去无法显示汕头网站seo外包
  • 质量好网站建设价格客户关系管理定义
  • 从0到建网站辽源网站制作
  • 网络公司网站设计方案ppt河南省住建厅网站豫建设标
  • 网站建设寮步cms免费建站系统
  • 江苏徐州网站建设新浪云wordpress教程
  • 建设科技网络网站的意义和目的营销网站的问题与优势
  • 花钱做网站注意什么做h5的网站的区别
  • 电子商务网站建设课后习题网站二级目录建站
  • 网站开发与设计实验报告总结北京企业建网站定制价格
  • 网站访问量大公司部门职位名称大全
  • 郑州五合一网站建设wordpress分类目录打不开
  • 树形菜单网站广告模板app
  • 深圳自助网站建设网站建设市场多大