JAVA之异常(Exception)

一、什么是异常?(What )

  1.Standard(标准)异常指的是执行过程中,出现的不正常现象,导致程序的中断。Java中的异常本身是一个类,当遇见异常时抛出异常对象,并终止程序按的运行。
  2.个人理解:写的代码不正确,或考虑不全,程序无法继续执行,所给出的提示,帮助我们找到程序发生的问题,保证代码能正常运行得到想要的结果。
  3.Java中异常的分类(Type)
      1.Error (翻译为错误)
          Error同Exception都是Throwable(可抛出的)的子类。指代虚拟机错误,内存溢出,线程死锁等等。程序本身是无法考虑到上层使用系统(JVM)所面临的问题的。
      2.Exception (翻译为异常) 
          1.Exception又分为 CheckedException(已检查异常,又叫编译时异常)  和unCheckedException(不检查异常,不需要处理)
          2.CheckedException 已检查异常,也就是这个异常,编译之前就已经检查了。若不处理则无法通过编译。
          3.UnCheckedException ,RuntimeException就是UncheckedException,翻译为运行时异常。(可以理解为,而编译时无法看出,程序运行时才明白是否会出错。)
      3.分类汇总图
           ![Throwable.png](https://upload-images.jianshu.io/upload_images/11025060-3fe49d7f0d63a8c1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
   3.异常的解析过程
       1. UncheckedException ,发生异常时,由产生异常方法,一直冒泡到顶层调用者。而这个异常,已经定义好,JVM能够识别,JVM创建该异常 (相当于throw new Exception())返回个顶层方法,(现象 将错误打印在控制台)
       2. CheckedException ,在编译时,能够直接检测出来,因此,当发生异常时,会进入到catch部分,并最终执行finally
image.png
   4.总结,异常的作用其实就是在程序执行错误时,给出提示。那么为什么会存CheckedException 以及UncheckedException呢?给异常的处理提供了两种不同的处理方式。
      1.CheckedException,编译时检测出的异常,直接提醒。这种方式可以避免程序员遗忘处理,坏处就是当try时,得写很多try catch代码,当throws 时,则会产生冒泡叠加。并且处理的很随意,导致顶层调用栈被破坏。(推荐)
      2.UncheckedException,编译时不会提醒,但在运行时才可能发生。比如说除0  以及下标越界等。不用写很多的try catch 导致代码混乱,也不会破会顶层调用栈。(个人认为,你依旧得考虑这些异常,并用代码判断处理,所以这种方式并不推荐。)
            1.手动处理 try catch 
            2.继续向上抛出throws
      2.UncheckedException,编译时,不会提醒,能顺利通过编译,运行时,发生错误时,直接中断,打印到控制台。而不需要 我们手动去处理。这种异常,在使用时,代码更加简洁。
image.png

How(如何使用异常)

待完善,今天累了。

Where(在哪里用到?)

1.调用别人封装的方法时候,处理抛出的异常
2.自己封装方法,需要处理异常情况的时候,throws异常。
3.查看日志信息,定位程序发生异常的位置。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,858评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,372评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,282评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,842评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,857评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,679评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,406评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,311评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,767评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,945评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,090评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,785评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,420评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,988评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,101评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,298评论 3 372
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,033评论 2 355

推荐阅读更多精彩内容