Java异常处理学习
今天才开通了博客园的博客,希望可以记录自己学习的点点滴滴。最近去处理了一些私人事情,有点烦人,希望自己不要被这些破事所影响。
最近在看马士兵老师的Java基础的视频,(中断了一周)发现本科时候的胡老师讲的课和马老师好像啊,我在想胡老师是不是马老师的“信徒”呢?极有可能啊,他上课的ppt感觉就是截图的马士兵老师的ppt。我在想我们的胡老师这么厉害都是拜马士兵老师所赐,所以嘛,加油!
先把马士兵老师的ppt给放了进来,很有用。
总结一下:
1.马士兵老师已经总结的很好了,注意五个关键字,分别是try catch finally throw throws ,对主动抛异常的throw认识比较少,throw +异常对象 ,应该记住有这个写法。如下图这样的:
throw 举个领子:
throw抛出异常的方式比较直接:
if
(age <
0
){
throw
new
MyException(
"年龄不能为负数!"
);
}
来看一个例子:
package
Test;
public
class
Test2 {
public
static
void
main(String[] args) {
String s =
"abc"
;
if
(s.equals(
"abc"
)) {
throw
new
NumberFormatException();
}
else
{
System.out.println(s);
}
}
}
运行结果如下:
2.然后这张图很重要:
3.RuntimeException可以捕捉可以不捕捉,其他exception必须捕获,try后面可以跟着多个catch,先逮小的,再逮大的,就像那个那放了个很密的网,再放个空大的网肯定没用了。
4.在catch中声明的异常对象如exception e封装了异常事件发生的信息在catch语句块中可以使用这个对象的一些方法获取这些信息。如:
5.还有对于马老师视频中说的有人去面试的时候会让你写出5个以上的exception,这个平时要注意:
6.抛出异常的时候,可以不处理一直向外抛,直到抛出Java运行时系统处理,打印出堆栈信息。直接抛出exception是一种相当不好的编程习惯。
7.看到方法中有throws时,在使用它的时候必须try catch或者抛出异常。
Java异常处理学习的更多相关文章
- 这几种Java异常处理方法,你会吗?
摘要:我们在软件开发的过程中,任何语言的开发过程中都离不开异常处理. 本文分享自华为云社区<Java异常处理学习总结>,作者: zekelove . 我们在软件开发的过程中,任何语言的开发 ...
- [ Java学习基础 ] Java异常处理
一.异常概述 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error:如果你用Sys ...
- Java 学习(10):java 异常处理
java 异常处理 异常发生的原因有很多,通常包含以下几大类: 用户输入了非法数据. 要打开的文件不存在. 网络通信时连接中断,或者JVM内存溢出. 三种类型的异常: 检查性异常: 最具代表的检查性异 ...
- java基础学习总结——异常处理
一.异常的概念 异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误.出现错误时观察错误的名字和行号最为重要.
- [Java学习] Java异常处理基础
Java异常是一个描述在代码段中发生的异常(也就是出错)情况的对象.当异常情况发生,一个代表该异常的对象被创建并且在导致该错误的方法中被抛出(throw).该方法可以选择自己处理异常或传递该异常.两种 ...
- Java基础学习总结(22)——异常处理
一.异常的概念 异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误.出现错误时观察错误的名字和行号最为重要. package cn.javastudy.summary; public ...
- Java基础学习(七) - 异常处理
1.异常概念 异常指的是程序在执行过程中出现的非正常的情况,导致JVM的非正常停止.在Java中,异常是一个类,产生异常就是创建异常对象并抛出一个异常对象. 异常指的并不是语法错误,语法错误,编译不会 ...
- 札记:Java异常处理
异常概述 程序在运行中总会面临一些"意外"情况,良好的代码需要对它们进行预防和处理.大致来说,这些意外情况分三类: 交互输入 用户以非预期的方式使用程序,比如非法输入,不正当的操作 ...
- java异常处理(父子异常的处理)
我当初学java异常处理的时候,对于父子异常的处理,我记得几句话“子类方法只能抛出父类方法所抛出的异常或者是其子异常,子类构造器必须要抛出父类构造器的异常或者其父异常”.那个时候还不知道子类方法为什么 ...
随机推荐
- sql 简单的定义变量 声明 输出
--定义变量 声明 变量名 数据类型 varchar默认长度为1 --char 当字符不够时 用空格代替 declare @a char(10) --字符串用单引号 set @a ='abcdef' ...
- ubuntu安装软件-笔记
手动安装过程 下载 - 配置文件 常用命令: sudo dpkg -i ******.deb 问题&解决思路 问题1:依赖项 - 缺少某一个依赖包 解决尝试: 1 . sudo apt-ge ...
- python升级到版本3
一.下载python3 下载python3版本 wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0a3.tgz 二.安装依赖包 sudo ...
- (原创)Problem F: WPF的三位数
Description PF哥是一个爱说骚话的骚年,今天他决定要用阿拉伯数字来说骚话,他将1,2,…,9共9个数字分成了三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例 他要说的骚话就是 ...
- vue.js组件之j间的通讯四,通过单一事件来管理组件通讯
总结; 首先需要创建是一个空实例: var vm = new Vue(); vm.$emit(事件,数据); vm.$on(事件,function(data){ }bind(this))
- 使用RestTemplate时报错java.lang.IllegalStateException: No instances available for 127.0.0.1
我在RestTemplate的配置类里使用了 @LoadBalanced@Componentpublic class RestTemplateConfig { @Bean @LoadBalanced ...
- java.lang.Exception: No tests found matching(Junit测试异常)
java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=save], {ExactMatcher:fDispl ...
- 安装gitlab-runner
# 下载 $sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/lat ...
- MYSQL常用命令笔记(一)
1.show databases; 显示数据库 2.create database test; 创建数据库test 3.use test: 使用这个数据库 4.创建表class: create tab ...
- cs231n学习笔记(二)图像分类
图像分类可说是计算机视觉中的基础任务同时也是核心任务,做好分类可为检测,分割等高阶任务打好基础. 本节课主要讲了两个内容,K近邻和线性分类器,都是以猫的分类为例. 一. K近邻 以猫的分类为例,一张含 ...