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

扬州建设信息网站深圳seo网络推广营销

扬州建设信息网站,深圳seo网络推广营销,wordpress文章页跳转空白,福州网站备案一、概念  “异常”这个词有“我对此感到意外”的意思。问题出现了#xff0c;你也许并不清楚该如何处理#xff0c;但你的确知道不应该置之不理#xff1b;你要停下来#xff0c;看看是不是有别人或在别的地方#xff0c;能够处理这个问题。只是在当前的环境中还没有足够…一、概念  “异常”这个词有“我对此感到意外”的意思。问题出现了你也许并不清楚该如何处理但你的确知道不应该置之不理你要停下来看看是不是有别人或在别的地方能够处理这个问题。只是在当前的环境中还没有足够的信息来解决这个问题所以就把这个问题提交到一个更高级别的环境中在这里将作出正确的决定。二、基本知识 2.1 基本异常 当抛出异常后首先同Java中其它的对象创建一样将使用 new在堆上创建异常对象。然后当前的执行路径它不能继续下去了被终止并且从当前环境中弹出对异常对象的引用。此时异常处理机制接管程序并开始寻找一个恰当的地方来继续执行程序。这个恰当的地方就是异常处理程序它的任务是将程序从错误状态中恢复以使程序能要么换一种方式运行要么继续运行下去。异常允许我们如果没有其它手段强制程序停止运行并告诉我们出现了什么问题或者理想状态下强制程序处理问题并返回到稳定状态。  在基本异常的基础之上我们还需要知道异常的参数 我们总是用 new 在堆上创建异常对象这也伴随着存储空间的分配和构造器的调用。所有标准异常类都有两个构造器一个是默认构造器另一个是接受字符串作为参数以便能把相关信息放入异常对象的构造器       throw new NullpointerException(t null );  在使用 new 创建异常对象之后此对象的引用将传给 throw。将会返回一个异常对象然后退出方法或作用域。能够抛出任意类型的Throwable对象它是异常类型的根类。通常对于不同类型的错误要抛出相应的异常。错误信息可以保存在异常对象内部或者使用异常类的名称来暗示。上一层环境通过这些信息来决定如何处理异常。通常异常对象中仅有的信息就是异常类型除此之外不包含任何有意义的内容。2.2 捕获异常   try 块捕获异常   如果在方法内部抛出了异常或者在方法内部调用的其他方法抛出了异常这个方法将在抛出异常的过程中结束。要是不希望方法就此结束可以在方法内设置一个特殊的块来捕获异常。   catch块处理异常   当然抛出的异常必须在某处得到处理。这个“地点”就是异常处理程序而且针对每个要捕获的异常得准备相应的处理程序。异常处理程序紧跟在 try 块之后以关键字 catch 表示 try{//Code that might generate exceptions }catch(Type1 id1){//handle exceptions of Type1 }catch(Type2 id2){//handle exceptions of Type2 } //etc...   异常处理程序必须紧跟在 try 块之后。当异常被抛出时异常处理机制将负责搜寻参数与异常类型相匹配的第一个处理程序。然后进入 catch 子句执行此时认为异常得到了处理。一旦 catch 子句结束则处理程序的查找过程结束。注意只有匹配的 catch 子句才能得到执行。   两种异常处理模型 终止模型、恢复模型   终止模型 一旦异常被抛出就表明错误已经无法挽回也不能回来继续执行。   恢复模型 异常处理程序的工作是修正错误然后重新尝试调出问题的方法并认为第二次能成功。 该种模型时不能再遇见错误时就抛出异常而是调用方法来修正或者把try块放在while循环里这样不断的进入try块直到得到满意的结果。 2.3 创建自定义异常   通过自定义MyException继承自Exception来创建自定义的异常。 class MyException extends Exception{public MyException(){}public MyException(String in){super(in);} }   并在catch中通过       e.printStackTrace() 将异常写入到System.err(标准错误流)在debug的时候会显示错误的函数和行号这是对System.out的优势。 它将打印“从方法调用处直到异常抛出处”的方法调用序列 栈轨迹   printStackTrace方法也可以通过getStackTrace()方法来访问这个方法将返回一个由栈轨迹中的元素构成的数组其中每一个元素都将表示栈中的一帧。 元素0是栈顶元素并且是调用序列中的最后一个方法调用。   通过如下代码打印 栈轨迹 try {f();} catch (MyException e) {// e.printStackTrace();for(StackTraceElement ste : e.getStackTrace()){Log.d(TAG, onClick: ste.getMethodName());}} 得到的结果如下      2.4 异常说明   如果调用某个方法方法里的代码产生了异常却没有进行处理编译器会发现这个问题 要么处理这个异常要么在函数异常说明中表明此方法将产生异常。 如下图所示 1、函数声明加 throws MyException    2、函数中 增加 try catch 处理异常。  2.5 try catch中有returnfinal   当try/catch代码中有return语句那么此时的final是否还会继续执行        1、 当try catch中有return 语句在执行return之前将需要return的结果保存在一个临时变量中然后去执行finally代码块执行完之后再执行return。        2、 1中情况有个前提条件是finally中没有return语句如果finally代码块中也有return那么会执行finally中的return不会执行try/catch中的。 int testFinallyReturn(){int x 1;try{x;return x;}catch (Exception e){return x;}finally {x;return x;}}运行结果if(exist(return x) in finally){ return result : 2 ;}else{  return result : 3 ;} 转载于:https://www.cnblogs.com/NeilZhang/p/7639546.html
http://www.yutouwan.com/news/216925/

相关文章:

  • 桂林网站建设费用m2型虚拟主机带宽 网站
  • 广东省城乡住房建设厅网站首页生活中好的设计产品
  • 网站感谢页面竞价代运营
  • 网站建设办法在线翻墙
  • 淮北市建设协会网站网站 开发 工具
  • 公司网站怎么做关键字东台网站建设找哪家好
  • 邹平网站建设公司wordpress文章发布保存都不行
  • 做网站如何团队分工企业网站设计优化公司
  • 网站开发项目实训总结网站建设一般需要多久
  • 网站空间运行挂机宝wordpress+游戏网站
  • 网站的域名怎么起如何给网站做优化代码
  • 网站建设有那几个类型百度指数网址是什么
  • 做logo赚钱的网站wordpress 用户充值
  • 腾讯官方网站建设动漫设计培训机构哪里好
  • 举报网站建设情况下载做蛋糕网站
  • 做品管圈网站找别人建个网站多少钱
  • 广东峰凌建设有限公司网站为某一企业规划网络促销方案
  • 建设广州公司网站网站建设都用哪些软件
  • 江门专业网站制作公司h5视频直播
  • 建站服务外贸WordPress建站经验
  • 做网站是先做后台还是前端怎么做网络销售
  • 美食网站建设页面要求尼罗发表小说做的的网站是哪个
  • 网站建设中可能遇到的问题WordPress评级评分主题
  • 网站建设药店网站开发开题报告ppt
  • 建设银行征信中心官方网站哈尔滨制作网站工作室
  • 宁波网站开发服务谁有wap网站
  • 怎么买域名自己做网站有公网ip 建网站
  • 外贸soho建站网站网站地图怎么做
  • 网络营销网站源码东游科技网站建设
  • 网页版游戏排行榜4399seo优化流程