Java的异常处理-创新互联

异常处理机制 1.抛弃异常

异常产生和提交的过程

创新互联建站-专业网站定制、快速模板网站建设、高性价比沈河网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式沈河网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖沈河地区。费用合理售后完善,十多年实体公司更值得信赖。2.捕获

得到异常对象后,寻找处理这一异常的方法,运行时把当前异常交给该方法进行处理

3.异常处理的一般步骤

①异常抛出➡②异常捕获→③异常处理


Java异常处理的5个关键字 1.try

放可能引发异常的代码,试试它所包含的代码段中是否会发生异常

2.catch

对应的异常类型和一个代码块,表明该catch块用于处理这种类型的代码块,可以有多个catch。当有异常时,抓住并进行相应的处理,使程序不受异常的影响而继续执行下去

3.throw

抛出一个实际的异常,抛出一个具体的异常对象,在程序中明确引发异常

4.throws

如果一个方法可以引发异常,它本身并不处理该异常,那么它必须将该异常抛给调用它的方法。用于声明该方法可能抛出的异常。

5.finally

无论是否发生异常都要执行的代码


异常处理语句 1.try-catch
catch

每个try代码块可以伴随一条或多条catch语句,用于处理try代码块中生成的异常事件。

需要一个形式参数指明它能够捕获地异常类型,必须是Throwable的子类。

不会产生异常情况,执行try{}

public void method(){

  try{

  // 代码段 不会产生异常 √

}catch(异常类型 ex){

  // 处理异常的代码段

}

}

会产生异常情况,try{}有异常,与catch(匹配异常类型),执行catch{}

public void method(){

  try{

  // 代码段1

  //  产生异常的代码段2 与catch类型匹配后进入catch{}

  // 代码段3

}catch(异常类型 ex){        // 如果类型不匹配则程序中断

  // 处理异常的代码段4 √

}

  // 代码段5

}

2.try-catch-catch

一段代码可能引发多种类型的异常。引发异常时,按顺序查看每条catch语句,执行第一条类型匹配的catch{},后面的catch{}将被忽略。

安排catch语句的顺序时,先安排子类,再安排父类。

public void method(){

  try{

  // 代码段

}catch(异常类型1 ex){

  // 处理异常的代码段

}catch(异常类型1 ex){

  // 处理异常的代码段

}catch(异常类型1 ex){

  // 处理异常的代码段

}

  // 代码段

}

3.try-finally

没有catch子块,发生异常时无法在当前程序中捕获,由系统处理。

public int method(){

  try{

  return 1;

}

finally{

  // 放在任何情况下都必须执行的代码

  return 0;

}

}

当程序使用了外界资源,必须将释放资源的代码写入finally块

4.try-catch...catch-finally

try{

  // 无异常时跳过catch{},执行完执行finally{}

  // 有异常时与catch{}匹配,跳过try{}直接执行匹配的catch{}

}

catch(异常类型1 ex){

  // 类型匹配时 处理异常

  // 类型不匹配时 进行下一条catch块匹配

}

catch(异常处理2 ex){

  //类型匹配时 处理异常

  //类型依然不匹配时 无finally则中断程序 有finally时执行finally{}

}

finally{

  // 有无异常都要执行

  // catch都不匹配时也要执行

}

throw语句

用来明确地抛出一个异常。

if(异常条件1成立)

  throw new 异常1();

if(异常条件2成立)

  throw new 异常2();

...

// 抛出异常首先要生成异常对象

// 生成异常对象通过throw语句实现:

IOException e=new IOException();

throw e;

throws子句

用来声明一个异常。

returnType methodName([paramlist]) throws exceptionList{...}

返回类型 方法名(参数列表) throws 异常列表{...}

三种嵌套

try

{

  try{ }

  catch(Exception E1){ }

}

catch(Exception E2){ }

try{ }

catch(Exception E1)

{

  try{ }

  catch(Exception E2){ }

}

try{ }

catch(Exception E2){ }

finally

  try{ }

  catch(Exception E1){ }

  finally{ } 


用户自定义异常类

要用try-catch-finally捕获,但必须由用户自己抛出(throw new MyException)。自定义异常类必须使Throw的直接子类或间接子类。(最好定义为Exception的子类。)

class 自定义异常1 extends Exception{

  自定义异常1(String str)

  super(str);

}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

本文名称:Java的异常处理-创新互联
浏览地址:https://www.cdcxhl.com/article28/peijp.html

成都网站建设公司_创新互联,为您提供网站改版品牌网站建设服务器托管定制开发网页设计公司微信公众号

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司