黑马程序员Java基础入门(十七)异常处理(包含try...catch和throws的用法)

18 篇文章 4 订阅
订阅专栏

目录

一、异常

1.1 异常概述

1.2 JVM的默认处理方案

1.3 异常处理

1.4异常处理之try...catch...

1.5 Throwable 的成员方法

1.6 编译时异常和运行时异常的区别

 1.7 异常处理之throws

1.8 自定义异常

 1.9 throws 和 throw 的区别


一、异常

1.1 异常概述

引文:数组索引越界异常

 异常:就是程序出现了不正常的情况。

 Error:严重问题,不需要处理。

Exception:称为异常类,它表示程序本身可以处理的问题。

        RuntimeException:在编译期是不检查的,出现问题后,需要我们回来改代码。

        非RuntimeException:编译期就必须处理的,否则程序不能通过编译,就更不能正常运行了。

1.2 JVM的默认处理方案

 如果程序出现了问题,我们没有做任何处理,最终JVM会做默认的处理。

        把异常的名称,异常原因及异常出现的位置等信息输出在了控制台。

        程序停止执行。

1.3 异常处理

如果程序出现了问题,我们需要自己来处理,有两种方案:

try - catch

throws

1.4异常处理之try...catch...

格式:

try{
    可能出现异常的代码;
}catch(异常类名 变量名){
    异常的处理代码;
}

执行流程:

程序从try里面的代码开始执行

出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统

当Java运行时系统接收到异常对象时,会到catch中去找匹配的异常类,找到后进行异常的处理

执行完毕之后,程序还可以继续往下执行。

1.5 Throwable 的成员方法

 getMessage()方法:

下面的注释是底层的实现

 toString()方法:

 printStackTrace()方法(一般用此方法,因为提供的信息最全):

1.6 编译时异常和运行时异常的区别

Java中的异常被分为两大类,编译时异常运行时异常,也被称为受检异常非受检异常

所有的RuntimeException类及其子类被称为运行时异常,其他的异常都是编译时异常。

        编译时异常:必须显示处理,否则程序就会发生错误,无法通过编译。

        运行时异常:无需显示处理,也可以和编译时异常一样处理。

运行时异常:

编译时异常(又可能出问题,不一定出现了问题):

 1.7 异常处理之throws

虽然我们通过try...catch...可以对异常进行处理,但是并不是所有的情况我们都要权限进行异常的处理,也就是说,有些时候可能出现的异常是我们处理不了的,这个时候该怎么办呢?

针对这种情况,Java提供了throws的处理方案。

格式:

        throws 异常类名;

注意:这个格式是跟在方法的括号后面的

运行时异常:

 编译时异常:

 不管是哪种异常throws都只能将问题抛出,但并不能解决问题

编译时异常必须要进行处理,两种处理方案:try...catch...或者throws,如果采用throws这种方案,将来谁调用谁处理。

运行时异常可以不处理出现问题后,需要我们回来修改代码。

1.8 自定义异常

 实例:

Teacher类:

 自定义异常类:

 测试类:

正常运行:

 异常运行:

 1.9 throws 和 throw 的区别

来尝尝try-with-resouces语法糖(JDK版本17)
LINchuana的博客
07-17 1058
语法糖与常用try-catch的抉择与割舍
黑马程序员-异常处理
dong53821713的专栏
10-22 391
异常 就是程序运行过程中,遇到了问题,这就叫异常。1,异常的体系 Throwable 其实应该分三种 Error 通常出现重大问题如:服务器宕机数据库崩溃等。不编写针对代码对其处理。 Exception 除了 RuntimeException 和其所有子类,其他所有的异常类都是在编译候必须要处理的,要么try,要么抛 RuntimeException R
Java17 入门基础知识(八)
最新发布
龙哥盟
08-06 534
异常是在 Java 程序执行期间,当没有定义正常执行路径可能出现的情况。例如,Java 程序可能会遇到试图将整数除以零的数值表达式。z = x / y;语句z = x / y试图将x除以y。因为y为零,所以x / y的结果没有在 Java 中定义。注意一个浮点数除以零,比如9.5 / 0.0,是定义好的,是无穷大。一般来说,异常情况,比如一个整数被零除,可以这样表述:Java 程序试图将一个整数被零除出错。Java 编程语言以不同的方式描述了前面的错误条件。
黑马程序员——异常
u012865586的专栏
12-21 443
------- android培训、java培训、期待与您交流! ----------    异常异常就是Java程序在运行过程中出现不正常情况。 异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象。其实就是Java对不正常情况进行描述后的对象体现。    Throvable类是java语言中所有错误或异常的超类  对于严重问题,j
黑马程序员--异常
weixin_30892987的博客
07-21 84
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ------------------...
Java 异常处理try-catchthrows)
卡尔特斯
07-22 353
一、try...catch... 格式 try { 可能出现异常的代码 } catch (异常类名 变量名) { 异常处理代码 } 执行流程 1、程序从 try 里面的代码开始执行,出现异常,会自动生成一个异常类对象,该异常对象将被提交给 Java 运行时系统。 2、当 Java运行时系统 接收到异常对象,会到 catch 中去找匹配的异常类,找到后进行异常的处理,执行完毕之后,程序还可以继续往下执行。 案例代码 public class test { public static
黑马程序员入学Java精华总结
11-07
- 使用try-catch-finally结构处理异常。 3. **多异常处理** - 可以在一个catch块中捕获多种异常类型。 4. **异常的分类** - 检查性异常:需要被捕获或声明。 - 运行时异常:在运行时抛出的异常,通常由于编程...
0 基础 Java 自学之路(2021年最新版)
热门推荐
程序员囧辉
04-08 40万+
屌丝逆袭之路
黑马程序员入学Java知识
03-08
### 黑马程序员入学Java知识 #### Java概述与基础知识 1. **何为编程?** - 编程是通过特定的计算机语言来编写指令,让计算机执行一系列任务的过程。 2. **Java语言概述,历史、特点** - **概述**:Java是一种...
Java基础入门知识总结
Aa112233aA1的博客
02-12 344
Java基础入门: 1.计算机的基础知识(day01) 2.Java语言基础(day02-day06) 3.Java面向对象(day07-day10) 4.Java开发工具(day11) 5.Java常见对象(day12-day14) 6.Java集合框架(day15-day19) 7.JavaIO流(day20-day22) 8.Java多线程(day23-day24) 9.JavaGUI(day25) 10.Java网络编程(day26) 11.Java反射(day27) 视频教程:黑马程序员全套Jav
Java学习】第2节:Java入门基础知识 + IDEA使用详细教程
m0_46013789的博客
05-13 1715
Java是一种广泛使用的编程语言,由Sun Microsystems(现在是Oracle Corporation)首次推出。它是一种跨平台的编程语言,意味着您可以编写一次代码,然后在多个不同的计算机系统上运行,而无需对其进行修改。Java被广泛用于开发各种类型的应用程序,包括企业级应用、移动应用、Web应用、游戏等。
黑马程序员-异常
黑马_飞飞
01-15 531
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ---------------------- 异常:  就是程序在运行时出现的不正常情况。 由来(对java异常的理解): 问题也是现实生活中事物的一种。也可以通过java的类的形式进行描述,并封装成对象。其实就是java对不正常情况进行描述后的对象的体现。 通常把
黑马程序员----异常
u013664820的专栏
03-10 695
异常:是在运行时期发生的不正常情况。 JAVA为什么会有这种机制呢?或这种情况呢?(答案在总结哪里) 比如:堵车,喝水洒电脑上了。都有可能。这些都是生活中不正常的情况。 异常不希望发生的,但是有些是东西是避免不了的!通常都只能给出一些解决办法。 C语言对问题的处理方法,处理方法和执行语句紧密相连,阅读差和耦合性问题产生。 Java处理方法,对其问题进行封装(
黑马程序员--java--异常
wangchuanjin_的博客
07-29 331
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------             异常 1.1 异常的体系 定义:是在运行期间发生的不正常的情况。 由来:问题也是生活中的一类事物,Java中把问题这类事物进行了描述和封装,对应的类就是异常类。并且在异常类中子类后缀名都是用父类名,增强了阅读性! 不正常的情况分为两类: Throw
Java--异常处理try_catchthrows
可乐小巧粒的博客
11-22 1111
throw关键字 package 异常学习; /* * java.lang.Throwable:类是java语言中所有错误或异常的超类 * Excepttion:编译异常,进行编译Java程序错误 * RuntimeException:运行期异常java程序在运行过程中出现的异常 * Error:错误 * 错误必须通过修改源代码,程序才能继续执行 * * 异常产生过程解析(分析异常怎么产生的们如何处理异常) * 方法将异常抛给
java throws catch_java异常处理throws throw try-catch实例
weixin_32336149的博客
02-21 186
java异常处理throws throw try-catch实例。throw用于方法中,我们可以预见的错误。比如:if(age<0){Exception e = new Exception();//创建异常对象throw e;//抛出异常}在java代码中如果发生异常的话,jvm会抛出异常对象,导致程序代码中断,这个候jvm在做的操作就是:创建异常对象,然后抛出。throws用于方法声明...
黑马程序员——异常以及如何规避异常
小宸宸
04-16 515
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1异常 异常就是不正常,是指程序在运行时出现的不正常情况,其实就是程序中出现的问题,这个问题按照面向对象思想进行描述并封装成了对象,方便于操作问题和处理问题   Throwable类是Java语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例,才通过Java虚拟机或
Java throws与try..catch异常处理
阿博的博客
06-20 802
Java throws与try..catch异常处理
关于Javatry catch finally throw return的执行顺序问题
weixin_34392843的博客
11-02 242
try{ normalstatement;//1. exceptionoccurred;//2. return"try"; }catch(Exceptionex){ normalstatement;//3. return"catch"; ...
Java异常处理详解:try...catch与自定义异常
1. `throws` 声明处理异常:在方法签名中使用`throws`关键字声明可能抛出的异常,将异常处理的责任交给调用者。这种方式允许一个方法不处理异常,而是由调用它的方法去处理。一个方法可以声明抛出多个异常,并且可以...
36
原创
27
点赞
220
收藏
28
粉丝
关注
私信
写文章

热门文章

  • 数据结构-链表基础详解(超详细代码) 3746
  • Java期末大作业-工资系统平台(实验报告内附代码) 3612
  • 编译原理实验报告(源程序的预处理) 3018
  • 数据结构-二叉树(包含二叉树的层次建树、前中后序遍历、层次遍历解析及代码) 2613
  • 黑马程序员Java基础入门(九)集合基础(包含ArrayList类的使用) 1511

分类专栏

  • java学习 18篇
  • c语言学习 17篇

最新文章

  • 编译原理实验报告(源程序的预处理)
  • 黑马程序员Java基础入门(十六)常用API(包含Math类、System类、Object类、Arrays类及冒泡排序、基本类型包装类、日期类)
  • 黑马程序员Java基础入门(十五)内部类&形参和返回值
2022年36篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家萍乡玻璃钢雕塑产品上海公园玻璃钢雕塑新民玻璃钢关公雕塑安徽步行街玻璃钢雕塑哪家便宜辽阳园林玻璃钢雕塑定做沈阳小区玻璃钢雕塑制作曲阳正规玻璃钢雕塑生产基地江苏特色商场美陈市场价惠州玻璃钢园林雕塑深圳玻璃钢花盆怎么样梅州玻璃钢雕塑设计好的玻璃钢雕塑设计江苏艺术商场美陈厂家直销杭州玻璃钢雕塑厂招工信息山东超市商场美陈多少钱生产玻璃钢雕塑报价表商场的美陈都是统一采购的吗伊春人物玻璃钢雕塑价格保定仿铜玻璃钢雕塑欧式玻璃钢人物雕塑手工制作江西玻璃钢海豚雕塑价格济南玻璃钢雕塑厂商抚顺商场美陈搭建安徽水果玻璃钢雕塑设计玻璃钢仿铜雕塑生产商韶关玻璃钢动物雕塑直销价格湛江玻璃钢鹦鹉雕塑梅州玻璃钢仿铜人物雕塑批发玻璃钢雕塑漆和金属漆哪个好南通玻璃钢鹿雕塑价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化