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

做室内装修设计的网站wordpress 微软

做室内装修设计的网站,wordpress 微软,网站百度一直没有收录,北京东直门网站建设只针对不正常的情况才使用异常 异常只应该被用于不正常的条件#xff0c;它们永远不应该被用于正常的控制流。《阿里手册》中#xff1a;【强制】Java 类库中定义的可以通过预检查方式规避的RuntimeException异常不应该通过catch 的方式来处理#xff0c;比如#xff1a;Nu…只针对不正常的情况才使用异常 异常只应该被用于不正常的条件它们永远不应该被用于正常的控制流。《阿里手册》中【强制】Java 类库中定义的可以通过预检查方式规避的RuntimeException异常不应该通过catch 的方式来处理比如NullPointerExceptionIndexOutOfBoundsException等等。 比如在解析字符串形式的数字时可能存在数字格式错误不得通过catch Exception来实现 代码1 if (obj ! null) {//... }代码2 try { obj.method(); } catch (NullPointerException e) {//... }主要原因有三点 异常机制的设计初衷是用于不正常的情况所以很少会会JVM实现试图对它们的性能进行优化。所以创建、抛出和捕获异常的开销是很昂贵的。把代码放在try-catch中返回阻止了JVM实现本来可能要执行的某些特定的优化。对数组进行遍历的标准模式并不会导致冗余的检查有些现代的JVM实现会将它们优化掉 在 finally 块中清理资源或者使用 try-with-resource 语句 当使用类似InputStream这种需要使用后关闭的资源时一个常见的错误就是在try块的最后关闭资源。 错误示例 public void doNotCloseResourceInTry() {FileInputStream inputStream null;try {File file new File(./tmp.txt);inputStream new FileInputStream(file);// use the inputStream to read a file// do NOT do thisinputStream.close();} catch (FileNotFoundException e) {log.error(e);} catch (IOException e) {log.error(e);} } 问题就是只有没有异常抛出的时候这段代码才可以正常工作。try 代码块内代码会正常执行并且资源可以正常关闭。但是使用 try 代码块是有原因的一般调用一个或多个可能抛出异常的方法而且你自己也可能会抛出一个异常这意味着代码可能不会执行到 try 代码块的最后部分。结果就是你并没有关闭资源。 所以你应该把清理工作的代码放到 finally 里去或者使用 try-with-resource 特性。 方法一使用 finally 代码块 与前面几行 try 代码块不同finally 代码块总是会被执行。不管 try 代码块成功执行之后还是你在 catch 代码块中处理完异常后都会执行。因此你可以确保你清理了所有打开的资源。 public void closeResourceInFinally() {FileInputStream inputStream null;try {File file new File(./tmp.txt);inputStream new FileInputStream(file);// use the inputStream to read a file} catch (FileNotFoundException e) {log.error(e);} finally {if (inputStream ! null) {try {inputStream.close();} catch (IOException e) {log.error(e);}}} } 方法二Java 7 的 try-with-resource 语法 如果你的资源实现了 AutoCloseable 接口你可以使用这个语法。大多数的 Java 标准资源都继承了这个接口。当你在 try 子句中打开资源资源会在 try 代码块执行后或异常处理后自动关闭。 public void automaticallyCloseResource() {File file new File(./tmp.txt);try (FileInputStream inputStream new FileInputStream(file);) {// use the inputStream to read a file} catch (FileNotFoundException e) {log.error(e);} catch (IOException e) {log.error(e);} } 尽量使用标准的异常 代码重用是值得提倡的这是一条通用规则异常也不例外。 重用现有的异常有几个好处 它使得你的API更加易于学习和使用因为它与程序员原来已经熟悉的习惯用法是一致的。对于用到这些API的程序而言它们的可读性更好因为它们不会充斥着程序员不熟悉的异常。异常类越少意味着内存占用越小并且转载这些类的时间开销也越小。 Java标准异常中有几个是经常被使用的异常。如下 异常使用场合IllegalArgumentException参数的值不合适IllegalStateException参数的状态不合适NullPointerException在null被禁止的情况下参数值为nullIndexOutOfBoundsException下标越界ConcurrentModificationException在禁止并发修改的情况下对象检测到并发修改UnsupportedOperationException对象不支持客户请求的方法 虽然它们是Java平台库迄今为止最常被重用的异常但是在许可的条件下其它的异常也可以被重用。例如如果你要实现诸如复数或者矩阵之类的算术对象那么重用ArithmeticException和NumberFormatException将是非常合适的。如果一个异常满足你的需要则不要犹豫使用就可以不过你一定要确保抛出异常的条件与该异常的文档中描述的条件一致。这种重用必须建立在语义的基础上而不是名字的基础上。 最后一定要清楚选择重用哪一种异常并没有必须遵循的规则。例如考虑纸牌对象的情形假设有一个用于发牌操作的方法它的参数(handSize)是发一手牌的纸牌张数。假设调用者在这个参数中传递的值大于整副牌的剩余张数。那么这种情形既可以被解释为IllegalArgumentException(handSize的值太大)也可以被解释为IllegalStateException(相对客户的请求而言纸牌对象的纸牌太少)。
http://www.zqtcl.cn/news/759699/

相关文章:

  • 网站推广话术wordpress主题没法用
  • 微信网站开发 全屏包头教育云平台网站建设
  • 诸城手机网站建设做竞价网站
  • 网站策划报告公司简介模板范文高大上
  • 做信息图的免费网站如何获取网站是哪个公司制作
  • 乐清建设网站哪家好seo一个月赚多少钱
  • 哈尔滨专业官网建站企业h5公众号开发
  • 商城网站建设精英wordpress实例配置
  • 国内网站开发语言模板兔自用主题WordPress
  • 天津营销网站建设公司哪家好市场营销平台
  • 上海企业响应式网站建设推荐网站建设类织梦模板
  • 洛阳最好的做网站的公司哪家好信誉好的邢台做网站
  • 织梦 旅游网站模板seo百家外链网站
  • 做网站提升公司形象摄影网站建设任务书
  • wordpress建站不好用wordpress共用用户多站点
  • 企业网站设计请示杭州做企业网站的公司
  • 苏宁易购网站建设的不足之处wordpress myisam
  • 互联网站建设维护是做什么的网站建设模板成功案例
  • 制作网站需要什么语言wordpress 免签约支付宝
  • 西安网站开发的未来发展易企网络网站建设
  • 贵州做网站怎么推广vs2012 做网站教程
  • 完全菜鸟七天学会建网站网络营销的四大基础理论
  • 东莞网站优化案例网站职业技术培训学校
  • 银川网站建设公司电话公司在百度做网站找谁
  • 交换链接适用于哪些网站网络规划与设计的目的
  • 网站做标签寺院网站模板
  • 高端h5网站柳州建站
  • 百度商桥网站郑州有做网站的公司没
  • 做专业网站济南品牌网站建设低价
  • 网站制作客户寻找数据中台厂商