游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

大数据编程入门Java异常处理

  在使用Java编写程序的时候,会出现一些错误,我们通常称之为异常。在我们遇到异常的时候应该怎么去处理呢?今天小编将为大家带来大数据编程入门:Java异常处理这篇文章。一、异常的分类
  在Java程序中所遇到的有三种异常,由用户错误引起的异常、由程序错误引起的异常及由物理错误引起的异常。
  由用户错误引起的异常,通常包括:
  用户输入了非法数据。
  要打开的文件不存在。
  网络通信时连接中断,或者JVM内存溢出。
  在我们了解到异常处理是怎么工作前,我们需要掌握以下三种类型的异常:
  检查性异常:最具代表性的检查异常是由程序员无法预见的用户错误或问题引起的。例如,要打开一个不存在的文件,会发生一个异常,在编译时不能简单地忽略它。
  运行时异常:运行时异常是程序员可以避免的异常。与检查性异常不同,运行时异常可以在编译时忽略。
  错误:错误不是例外,而是程序员无法控制的问题。错误通常在代码中被忽略。例如,当堆栈溢出时,会发生错误,并且在编译期间无法检查它们。二、Exception类的层次
  所有异常类都是从java。lang。Exception继承的子类。
  Exception类是Throwable类的子类。除了Exception类之外,Throwable还有一个子类Error。
  Java程序通常不会捕获错误。错误通常发生在严重故障的情况下,它们不在Java程序处理的范围之内。
  Error用于指示运行时环境中的错误。
  例如,JVM内存溢出。通常,程序不会从错误中恢复。
  Exception类有两个主要的子类:IOException类和RuntimeException类。
  三、Java内置异常类
  Java语言在Java中定义了一些异常类在java。lang标准包。
  标准运行时异常类的子类是最常见的异常类。因为java。lang包默认加载到所有Java程序中,从运行时异常类继承的大多数异常都可以直接使用。
  Java还根据每个类库定义了一些其他异常,下表列出了Java的非检查性异常。
  异常
  描述
  ArithmeticException
  当出现异常的运算条件时,会引发此异常。例如,当一个整数被零除时,抛出这个类的一个实例。
  ArrayIndexOutOfBoundsException
  访问具有非法索引的数组时引发异常。如果索引为负数或大于或等于数组大小,则该索引是非法的。
  ArrayStoreException
  尝试将错误类型的对象存储到对象数组时引发异常。
  ClassCastException
  当试图将对象强制转换为不是实例的子类时,会引发此异常。
  IllegalArgumentException
  引发的异常表示传递给方法的参数非法或不正确。
  IllegalMonitorStateException
  抛出异常以指示线程已尝试等待对象的监视器,或通知正在等待对象监视器但未指定监视器的另一个线程。
  IllegalStateException
  在非法或不适当的时间调用方法时产生的信号。换句话说,Java环境或Java应用程序没有处于请求操作所需的适当状态。
  IllegalThreadStateException
  线程未处于请求操作所需的适当状态时引发异常。
  IndexOutOfBoundsException
  指示排序索引(例如对数组、字符串或向量的排序)超出范围。
  NegativeArraySizeException
  如果应用程序试图创建大小为负的数组,则抛出该异常。
  NullPointerException
  当应用程序试图在需要对象的地方使用null时,抛出该异常
  NumberFormatException
  当应用程序尝试将字符串转换为数字类型,但无法将该字符串转换为适当的格式时,会引发此异常。
  SecurityException
  由安全管理器抛出的异常,指示存在安全侵犯。
  StringIndexOutOfBoundsException
  此异常由String方法抛出,指示索引或者为负,或者超出字符串的大小。
  UnsupportedOperationException
  当不支持请求的操作时,抛出该异常。
  下表列出了Java定义在java。lang包中的检查性异常类。
  异常
  描述
  ClassNotFoundException
  应用程序在尝试加载类并引发异常时找不到相应的类。
  CloneNotSupportedException
  当调用Object类中的clone方法来克隆对象,但对象的类无法实现可Cloneable接口时,会引发此异常。
  IllegalAccessException
  拒绝访问一个类的时候,抛出该异常。
  InstantiationException
  当试图使用Class类中的newInstance方法创建一个类的实例,而指定的类对象由于是一个接口或一个抽象类而无法实例化时,会引发此异常。
  InterruptedException
  一个线程被另一个线程中断,抛出该异常。
  NoSuchFieldException
  请求的变量不存在
  NoSuchMethodException
  请求的方法不存在四、异常方法
  方法
  说明
  publicStringgetMessage()
  返回有关发生的异常的详细信息,此消息在Throwable类的构造函数中初始化。
  publicThrowablegetCause()
  返回一个Throwable对象代表异常原因。
  publicStringtoString()
  使用getMessage()的结果返回类的串级名字。
  publicvoidprintStackTrace()
  打印toString()结果和栈层次到System。err,即错误输出流。
  publicStackTraceElement〔〕getStackTrace()
  返回包含堆栈层次结构的数组。下标为0的元素表示堆栈的栈顶,最后一个元素表示方法调用堆栈的栈底。
  publicThrowablefillInStackTrace()
  用当前的调用栈层次填充Throwable对象栈层次,添加到栈层次任何先前信息中。五、捕获异常
  使用try和catch关键字捕获异常。trycatch代码块放置在可能发生异常的位置。
  trycatch代码块中的代码称为保护代码。使用trycatch的语法如下:
  try
  {
  程序代码
  }catch(ExceptionNamee1)
  {
  Catch块
  }
  Catch语句包含捕获异常类型的声明。当保护代码块中发生异常时,将检查try后的catch块。
  如果发生的异常包含在catch块中,则异常将传递给catch块,这与向方法传递参数相同。
  示例:
  在下面的示例中,当代码尝试访问数组的第三个元素时,将声明一个包含两个元素的数组并引发异常。
  运行结果:
  六、多重捕获块
  try块后跟多个catch块称为多重捕获块。
  多个捕获块的语法如下:
  try{
  程序代码
  }catch(异常类型1异常的变量名1){
  程序代码
  }catch(异常类型2异常的变量名2){
  程序代码
  }catch(异常类型3异常的变量名3){
  程序代码
  }
  上面的代码段包含三个catch块。
  你可以在try语句之后添加任意数量的catch块。
  如果保护代码中发生异常,则会将其抛出到第一个catch块。
  如果引发异常的数据类型与ExceptionType1匹配,将在此处捕获它。
  如果不匹配,则传递给第二个catch块。
  所以,直到异常被捕获或通过所有catch块。
  示例:
  以下示例展示了怎么使用多重trycatch。
  七、throwsthrow关键字
  如果方法未捕获检查异常,则必须使用throws关键字声明该异常。throws关键字放在方法签名的末尾。
  您还可以使用throw关键字抛出异常,不管它是新实例化的还是刚刚捕获的。
  以下方法的声明引发RemoteException异常:
  一个方法可以声明抛出多个异常,且多个异常之间用逗号隔开。
  比如以下的方法声明抛出RemoteException和InsufficientFundsException:
  八、finally关键字
  finally关键字用于创建在try代码块之后执行的代码块。
  无论是否发生异常,finally块中的代码都将执行。
  在finally代码块中,可以运行具有finishingup性质的语句,例如cleanup类型。
  finally代码块出现在catch代码块的末尾,语法如下:
  try{
  程序代码
  }catch(异常类型1异常的变量名1){
  程序代码
  }catch(异常类型2异常的变量名2){
  程序代码
  }finally{
  程序代码
  }
  示例:
  运行结果:
  注意事项:
  catch不能独立于try存在。
  在trycatch后面添加finally块并非强制性要求的。
  try代码后不能既没catch块也没finally块。
  try,catch,finally块之间不能添加任何代码。九、声明自定义异常
  你可以在Java中自定义异常,在编写自己的异常类时,请记住以下几点。
  所有异常都必须是Throwable的子类。
  如果要编写checkup异常类,则需要继承该Exception类。
  如果要编写运行时异常类,则需要继承RuntimeException类。
  可以定义自己的异常类,如下所示:
  classMyExceptionextendsException{
  }
  通过仅继承Exception类而创建的异常类是检查异常类。
  以下insufficientFundsException类是从Exception继承的用户定义的异常类。
  与任何其他类一样,异常类包含变量和方法。
  示例:
  下面的例子是模拟一个银行账户,通过识别银行卡号,就可以存取款了。
  要演示如何使用自定义异常类,在以下CheckingAccount类中包含一个withdraw()方法,以抛出一个非充分的FundSexException异常。
  下面的BankDemo程序演示如何调用CheckingAccount类的dispose()和withraw()方法。
  编译以上三个文件,并运行BankDemo,运行结果如下:
  十、通用异常
  在Java中定义了两种类型的异常和错误。
  1、JVM(Java虚拟机)异常:由JVM抛出的异常或错误。例如:NullPointerException类,ArrayIndexOutOfBoundsException类,ClassCastException类。
  2、程序级异常:由程序或者API程序抛出的异常。例如IllegalArgumentException类,IllegalStateException类。
  以上就是关于大数据编程入门:Java异常处理的全部内容了,希望这篇文章能够帮助到大家

前瞻布局高景气赛道,新能源汽车业务打造蓝思科技第二增长极今年国庆假期,朋友圈除了以往晒景区人多排队长、打卡网红城市等外,还多了新能源车主分享长途出行的体验。新能源汽车成出行路上的一道靓丽风景线,同时,汽车充电排队也成为另一道风景,这……Python元组字典集合简单介绍元组Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组和字符串都是是不可变序列。语法:定义元组语法()和,……郭美美公布恋情在社交媒体上秀恩爱也一直在炫富7月6日,郭美美最近在社交平台上发布了一段视频,在这段视频中,她甜美地吻了男友,并公开宣布了一段新的关系。在视频里,29岁的郭美美梅和他的小男友甜蜜地吻了一下,把双腿放在……OPPOReno5和iQOOneo5相比较,该如何选择?如果单纯从一款手机的性价比角度来说,当然是选择iQOOneo5这款手机的性价比会更高。不过大家在实际购买手机的过程当中,因为每个人的需求是不一样的,那么做出的最终购机选择……苹果WWDC总结iOS14巨好用,AirPodsPro这个是一场特殊的科技春晚。在今天凌晨,苹果公司CEO蒂姆库克拉开了WWDC的序幕,由于众所周知的原因,众多开发者以在线方式参与此次盛会。这个是31年来,苹果公司第一……冬季煲好滋补汤,精美养生锅来帮进入冬季,人们最热的话题那就是养生了,那么如何进行养生呢?煲上一锅滋补汤是最有效的保健方法。把一些营养丰富的食材经过科学搭配放到汤锅中进行炖煮,这时选好一个养生锅成为了关键。……人家都用这样的踢脚线,美观实用还省钱买了新房就得去装修,在装修中想必伙伴们都是一样的心情,那就是一定要把它装好,不放过任何的细节。就拿墙面的踢脚线来说,它的作用可不容小觑哦!既要美观又得实用,那究竟该选什么样的踢……活在文章里的一加手机,什么时候才能走进大众生活里听到一加手机,你是不是觉得耳熟,好像网络评价不错,但现实中怎么没看到身边人用啊?难道这一加手机就只活在文章里?就拿一加前几个月发布的一加7Pro来说,贴合手掌的双曲面屏幕……为什么越来越多线下门店选择小程序?它能解决哪些行业难题?如今线下门店与线上结合好像已经成为了行业标配,无论是哪个行业,都在打通线上与线下,实现结合经营。而小程序的出现就是变革商业的一大契机,因此很多商家通过得有店搭建了属于自己的线上……最便宜的主动降噪耳机漫步者LollipodsPro开箱这个社会急功近利,浮躁异常。不忘初心仿佛只是口号,真正能做到的又有多少人呢?不光是人,产品同样如此。坚持初心,努力做到极致的公司也没有多少。而漫步者,是例外。漫步者新发售的Lo……千万别相信女孩子的腿,哈哈哈哈哈哈,笑出猪叫声我相信大多数男生认为女生说重叠时都很可爱,对吧?就像拥抱、高举等,很可爱但下面这些网友的回复中说的重叠的话,是不是有点可爱的感觉呢?大家都说孩子们很天真可爱。当这个……这些家电的使用寿命,你了解过吗电冰箱:1216年使用寿命虽然长一些,但也要适时检查下是否有制冷性能降低、运转声音过大、运转时颤抖的情况。研究表明:一台运转十年以后的冰箱,耗电量……
大头君有点困入手switch半年多我都选择了什么配件想了想自己入手switch也有半年多时间了,这半年多时间虽然没有像想象中玩switch的频率那么高,但是陆陆续续也给switch入手了很多配件,今天是时候来做一个总结,看看这半……助力到家消费破圈京东到家将迎第415周年庆4月15日,达达集团旗下的本地即时零售平台京东到家将迎来自己的第6个生日。6年来,京东到家坚持万千好物,即时可得理念,加速实现超市、手机、美妆、服饰等更多品类覆盖,同时助……小米再次创造神话,仅用6年时间70寸4K大屏仅2999对于小米很多人都不陌生哈,其实笔者当初用小米也是因为MIUI,说白了就是好用哈。那么小米的AloT智能产品估计现在又是一个非常让人难以抗拒的领域,你可以说没有用过小米手机,但是……暖膝更暖心,宾多康膝盖按摩仪助力父母无忧前行老爸是名警察,身体一直很健壮。可是前不久站岗时,突然膝盖疼痛难忍,去医院一查才知道是膝盖磨损了。我很是不解,问大夫:我爸这么注重养生,周周坚持打乒乓球,怎么会刚过50就出……拉锯8632米!2999元买的飞米无人机,图传距离极限测试上期我做了一个错误的示范把一个价值3000元的飞米X8SE2020飞丢在大山里了现在我要过去找跋山涉水几个小时终于到达了无人机失联后的经纬度途中还……ID。6CROZZ撞上ModelY,老字号更值得信赖?文二哥头现在的中国新能源汽车市场,其实大抵可以分为两派,一派是以特斯拉为首的造车新势力,它们激进张扬,喜欢各种前沿的技术以及概念;另一派则是以大众为首的传统老牌车企,它们……王牌竞速双人拉力赛火热进行中,五菱神车上线,带妹不需要低调就在今年7月,《王牌竞速》上线,作为网易推出的首款竞速手游,这款游戏从测试到公测都受尽玩家关注。跟传统竞速游戏相比,《王牌竞速》的整活能力也不是一般的强!除了基础的排位玩法,《……华为云WeLink亮相第一财经直播现场,高效支撑云上会议互动日前,上海浦东开发开放迎来30周年辉煌里程碑。在这个特殊的日子里,第一财经联合华为共同打造新基建,融合加速键系列云上会,邀请企业家、技术学者及行业大咖,通过新一代智能工作平台华……酷比魔方iWork1X评测,500元的win10前言:S君在大概2年以前就听闻市面上有很多运行完整WIN88。1系统的平板电脑,价格实惠而且是英特尔的处理器,这类本子被人称为寨板,也许是因为价格便宜让很多人认为是盗版的……7月销量公布,后来者居上,蔚来小鹏理想的销量排名大变天?临近月中,各大厂商的销量排名相继出炉,许多人也想知道谁拔得了头筹、谁卖得最差。根据最新公布的情况来看,7月份新势力厂商的表现颇为抢眼,其中蔚来、小鹏、理想这三大头部厂商均是实现……名门修谱从2万到200万?修谱到底该要多少钱?传统纸谱你们的家族里有祖传下来的家谱吗?这种简单的问题,近几年随着修家谱慢慢的兴起,在很多的宗亲家族之间,也开始流传。家谱作为一个家族历史的载体,虽然意义重大,但是在现实……用人工智能和机器学习为数据中心提供动力人工智能和机器学习在数据中心智能化方面的作用越来越大随着数据在当今企业中的重要性日益增加,数据管理对于管理和治理大型数据集以促进业务增长至关重要。公司正在利用先进的分析和……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网