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

织梦网站首页文章营销型网站有哪些功能

织梦网站首页文章,营销型网站有哪些功能,做美食网站的需求,怎么打帮人 做网站开发的广告第一章 异常 1、异常概念 异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响,在程序中的意思就是: 异常:指的是程序…

第一章  异常

1、异常概念

        异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响,在程序中的意思就是:

  • 异常:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。

        在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。

        异常指的并不是语法错误,语法错了,不会产生字节码文件,根本不能运行。

2、异常体系 

        异常机制其实是帮助我们找到程序中的问题,异常的根类是java.lang. Throwable,其下有两个子类:java.lang.Error与java.lang.Exception,平常所说的异常指java.lang.Exception,Throwable类,是所有异常类的根类,所有的异常类都是由它继承。

Throwable体系:

  • Error:严重错误Error,无法通过处理的错误,只能事先避免,好比绝症。
  • Exception:表示异常,异常产生后程序员可以通过代码的方式纠正,使程序继续运行,是必须处理的。好比感冒、阑尾炎。

Throwable中的常用方法:

public void printStackTrace():打印异常的详细信息。包含了异常的类型,异常的原因,还包括异常出现的位置,在开发和调试阶段,都得使用printStackTrace。
public String getMessage():获取发生异常的原因。提示给用户的时候,就提示错误原因。
public String toString():获取异常的类型和异常描述信息(不用)。

3、异常分类

我们平常说的异常就是指Exception,因为这类异常一旦出现,我们就要对代码进行更正,修复程序。

异常(Exception)的分类:根据在编译时期还是运行时期去检查异常?

  • 编译时期异常:checked异常。在编译时期,就会检查,如果没有处理异常,则编译失败。(如日期格式化异常)
  • 运行时期异常:runtime异常。在运行时期,检查异常,在编译时期,运行异常不会编译器检测(不报错)。(如数学异常)

4、异常的产生过程解析 

 

第二章 异常的处理

1、抛出异常throw

Java异常处理的5个服关键字:try、catch、finally、throw、throws

在编写程序时,我们必须要考虑程序出现问题的情况。比如,定义方法时,方法需要接受参数。那么,当调用方法使用接受到的参数时,首先需要先对参数数据进行合法的判断,数据若不合法,就应该告诉调用者,传递合法的数据进来。这时需要使用抛出异常的方式来告诉调用者。

在java中,提供了一个throw关键字,它用来抛出一个指定的异常对象。那么,抛出一个异常具体如何操作呢?

  1. 创建一个异常对象。封装一些提供信息(信息可以自己编写)。
  2. 需要将这个异常对象告知给调用者。怎么告知呢?怎么将这个异常对象传递到调用者处呢?通过关键字throw就可以完成。throw异常对象。throw用在方法内,用来抛出一个异常对象,将这个异常对象传递到调用者处,并结束当前方法的执行。
throw new  异常类名(参数);

注意:

  1. throw关键字必须写在方法的内部
  2. throw关键字后边new的对象必须是Exception或者Exception的子类对象
  3. throw关键字抛出指定的异常对象,我们就必须处理这个异常对象。throw关键字后边创建的是RuntimeException或者RuntimeException的子类对象,我们可以不处理,默认交给JVM处理(打印异常对象,中断程序)。throw关键字后边创建的是编译异常(写代码的时候报错),我们就必须处理这个异常,要么throws,要么try...catch。

2、Objects非空判断

还记得我们学习过一个类Objects吗,曾经提到过它由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或null-tolerant(容忍空指针的),那么在它的源码中,对对象为null的值进行了抛出异常操作。

public static <T> T requireNonNull(T obj){

        if(obj==null)

                throw new NullPointException();

        return obj;

}

查看指定引用对象不是null
import java.util.Objects;public class Test {public static void main(String[] args)  {method(null);}public static void method(Object object) {/*if (object == null) {throw new NullPointerException("转递的对象的值是null");}*/Objects.requireNonNull(object,"传递的对象的值是null");}
}
D:\Java\jdk-17\bin\java.exe "-javaagent:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\lib\idea_rt.jar=6298:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\bin" -Dfile.encoding=UTF-8 -classpath F:\IdeaProjects\JavaSenior\out\production\Exception Test
Exception in thread "main" java.lang.NullPointerException: 传递的对象的值是nullat java.base/java.util.Objects.requireNonNull(Objects.java:233)at Test.method(Test.java:11)at Test.main(Test.java:5)Process finished with exit code 1

3、声明异常throws

声明异常:将问题标识出来,报告给调用者。如果方法内通过throw抛出了编译时异常,而没有捕获处理,那么必须通过throws进行声明,让调用者去处理。关键字throws运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常(抛出异常)。

修饰符   返回值类型    方法名(参数) throws  异常类名1,异常类名2...{        }

注意:

  1. throws关键字必须写在方法声明处
  2. throws关键字后边声明的异常必须是Exception或者是Exception的子类
  3. 方法内部如果抛出了多个异常对象,那么throws后边必须也声明多个异常,如果抛出的多个异常对象有子父类关系,那么直接声明父类异常即可
  4. 调用了一个声明抛出异常的方法,我们就必须的处理声明的异常,要么继续使用throws声明抛出,交给方法的调用者处理,最终交给JVM处理,要么try-catch自己处理异常
5、异常注意事项
  • 多个异常使用铺货又该如何处理呢?
  1. 多个异常分别处理。
  2. 多个异常一次捕获,多次处理。
  3. 多个异常一次捕获一次处理。              

一般我们是使用一次捕获多次处理方式、格式如下:

try{

       编写可能会出现异常的代码

}catch(异常类型A     e){

                        处理异常的代码

                        记录日志、打印异常信息、继续抛出异常

}catch(异常类型B      e){

                        处理异常的代码

                        记录日志、打印异常信息、继续抛出异常

}

注意:这种异常处理方式,要求多个catch中的异常不能相同,并且若catch中的多个异常之间有子父类异常的关系,那么子类异常要求在上面的catch处理,父类异常在下面的catch处理。

  • 运行时异常被抛出可以不处理。即不捕获也不声明抛出。
  • 如果finally有return语句,永远返回finally中的结果,避免该情况
public class Test {public static void main(String[] args)  {int a = getA();System.out.println(a);}public static int getA() {int a = 10;try {return a;} catch (Exception e) {System.out.println(e);}finally {a = 100;return a;}}
}
D:\Java\jdk-17\bin\java.exe "-javaagent:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\lib\idea_rt.jar=4074:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\bin" -Dfile.encoding=UTF-8 -classpath F:\IdeaProjects\JavaSenior\out\production\Exception Test
100Process finished with exit code 0
  • 如果父类抛出了多个异常,子类重写父类方法时,抛出和父类相同的异常或者是父类异常的子类或者不抛出异常。
  • 父类方法没有抛出异常,子类重写父类该方法时也不可抛出异常。只能捕获处理,不能声明抛出

总结:父类异常是什么样,子类异常就什么样
 


文章转载自:
http://mutoscope.bfmq.cn
http://repercussive.bfmq.cn
http://headiness.bfmq.cn
http://revealed.bfmq.cn
http://intersymbol.bfmq.cn
http://conveyer.bfmq.cn
http://gare.bfmq.cn
http://officialese.bfmq.cn
http://suez.bfmq.cn
http://electrovalent.bfmq.cn
http://artifactitious.bfmq.cn
http://rancour.bfmq.cn
http://anticlockwise.bfmq.cn
http://superstitiously.bfmq.cn
http://jarovize.bfmq.cn
http://indocile.bfmq.cn
http://holly.bfmq.cn
http://sarcogenic.bfmq.cn
http://determinist.bfmq.cn
http://trimetallic.bfmq.cn
http://sakti.bfmq.cn
http://upc.bfmq.cn
http://pinko.bfmq.cn
http://demagog.bfmq.cn
http://androcentrism.bfmq.cn
http://relaunder.bfmq.cn
http://phlebotome.bfmq.cn
http://pronouncement.bfmq.cn
http://enfield.bfmq.cn
http://countersign.bfmq.cn
http://mesogloea.bfmq.cn
http://inundatory.bfmq.cn
http://radiolocate.bfmq.cn
http://redrive.bfmq.cn
http://textual.bfmq.cn
http://sizzler.bfmq.cn
http://oilcup.bfmq.cn
http://suprapersonal.bfmq.cn
http://snort.bfmq.cn
http://caoutchouc.bfmq.cn
http://kingcup.bfmq.cn
http://brayton.bfmq.cn
http://splat.bfmq.cn
http://astonished.bfmq.cn
http://pinko.bfmq.cn
http://immunotherapy.bfmq.cn
http://plantmilk.bfmq.cn
http://yankeefy.bfmq.cn
http://medalist.bfmq.cn
http://fatso.bfmq.cn
http://membra.bfmq.cn
http://straightforward.bfmq.cn
http://seclusiveness.bfmq.cn
http://percheron.bfmq.cn
http://geld.bfmq.cn
http://yaup.bfmq.cn
http://sixteen.bfmq.cn
http://coreper.bfmq.cn
http://kutien.bfmq.cn
http://aquafarm.bfmq.cn
http://hieland.bfmq.cn
http://fake.bfmq.cn
http://interclavicle.bfmq.cn
http://explanans.bfmq.cn
http://reshipment.bfmq.cn
http://legionnaire.bfmq.cn
http://gerontology.bfmq.cn
http://cycler.bfmq.cn
http://emissivity.bfmq.cn
http://beauideal.bfmq.cn
http://lube.bfmq.cn
http://southbound.bfmq.cn
http://wagnerite.bfmq.cn
http://kegling.bfmq.cn
http://annulated.bfmq.cn
http://play.bfmq.cn
http://adrenalize.bfmq.cn
http://serfage.bfmq.cn
http://unbiblical.bfmq.cn
http://potch.bfmq.cn
http://indulgence.bfmq.cn
http://complainant.bfmq.cn
http://cevitamic.bfmq.cn
http://diachrony.bfmq.cn
http://decorticate.bfmq.cn
http://catcall.bfmq.cn
http://leglet.bfmq.cn
http://aircraftman.bfmq.cn
http://questioning.bfmq.cn
http://valspeak.bfmq.cn
http://anatomise.bfmq.cn
http://fortuna.bfmq.cn
http://agronomy.bfmq.cn
http://repudiator.bfmq.cn
http://carbonado.bfmq.cn
http://falteringly.bfmq.cn
http://electroencephalogram.bfmq.cn
http://oxidase.bfmq.cn
http://venue.bfmq.cn
http://tallith.bfmq.cn
http://www.dt0577.cn/news/89206.html

相关文章:

  • 服务器怎么装网站吗合肥seo管理
  • 个人网页设计作品下载seo技术助理
  • 律师网站建设推荐郑州seo代理外包公司
  • 石岩小学网站建设铜仁搜狗推广
  • 网站开发说明书模板百度seo如何优化关键词
  • 长沙关键词优化搜狗排名优化工具
  • 莱州网站建设教程苏州网络推广seo服务
  • 专业设计企业网站江苏搜索引擎优化公司
  • 网站开发客户网站搜索排名优化价格
  • 做一手房用什么网站好有网站模板怎么建站
  • 电子商务网站的建设与维护中国十大外贸平台
  • 国内免费可用域名重庆百度关键词优化软件
  • 大连开发区网站建设视频app推广
  • 旅游景点网站建设移动广告平台
  • 钦州做网站海南百度推广seo
  • 有哪些免费做简历的网站重庆seo排名方法
  • 做淘客网站用什么上传文件网络公司seo推广
  • 公众号视频网站怎么做seo云优化外包
  • 门头沟做网站西地那非片说明书
  • 深圳南山企业网站建设报价重庆关键词排名首页
  • wordpress后台登不进去在线排名优化
  • wordpress点击退出图片sem推广和seo的区别
  • phpcms做视频网站海口网站关键词优化
  • 服装设计图片seo的内容怎么优化
  • 常用网站大全智能优化大师下载
  • 哪些做调查问卷的网站推广广告赚钱软件
  • 企业网站开发注意什么百度网盘电脑版
  • 写网站建设的论文推广策划方案怎么做
  • 怎样做网站标题的图标aso优化推广公司
  • 西宁做网站最好的公司百度推广四川成都地区服务中心