J2SE基础:11.异常处理
1:异常的概念:
异常是程序在执行时发生的事件(异常发生在执行期间)。
程序出现错误。打断原本的运行流程。
2:Java中处理异常。
在Java中。异常被封装成一个对象。(属性和方法)
3:异常产生
在Java程序的运行过程中,假设出现了异常事件。就会生成一个异常对象。
生成的异常对象将传递给Java执行时系统,这一异常的产生和提交过程称
为引发异常。
4:异常的分类
异常的根类(throwable)
错误:Error(程序无法处理的错误)
异常:Exception(能够处理的错误。程序能够捕获并处理这些异常事件)
5:Exception的分类:
RunTimeException(运时期间异常)
非RunTimeException(编译期间的异常)
6:RunTimeException的异常
RunTimeException的异常在程序中能够捕获,也能够不捕获处理。
7:非RunTimeException
非RunTimeException的异常必须进行捕获,否则程序无法进行
正常编译。
8:怎样处理异常:
当异常产生时。假设异常没有处理的话。这个异常将直接抛给虚
拟机处理。虚拟机无法处理的话,程序就直接退出。
A:捕获并处理异常
try{}catch(){
}
异常形參对象:
对象已经实例化成功,能够直接调用对象中的方法。
打印异常堆栈信息:e.printStackTrace();
打印异常信息: e.getMessage();
finally:
无论try块还是catch块,运行完毕后,都会运行finally块
中的代码。
关闭打开的资源对象是使用。
finally,final,finalize
B:将异常抛出。让下一个对象去处理这个异常。
throw:人为的抛出异常。throws:声明异常,声明这种方法会出现异常。
必须对异常进行处理。
使用异常的一些注意点:
A:一个try能够跟多个catch();
B:catch异常时。必须先捕获小的异常,再捕获大的异常。throws也是一样。
C:捕获异常时,必须对异常进行处理。
D:不要把全部的代码放到try块试着运行。(try块要在内存中试着运行)
J2SE基础:11.异常处理的更多相关文章
- c#基础之异常处理及自定义异常 从SQLServer转储数据到MySQL
c#基础之异常处理及自定义异常 一.什么是c#中的异常? 异常是程序运行中发生的错误,异常处理是程序的一部分.c#中的异常类主要是直接或者间接的派生于 System.Exception类 ,也就是说S ...
- [.net 面向对象编程基础] (11) 面向对象三大特性——封装
[.net 面向对象编程基础] (11) 面向对象三大特性——封装 我们的课题是面向对象编程,前面主要介绍了面向对象的基础知识,而从这里开始才是面向对象的核心部分,即 面向对象的三大特性:封装.继承. ...
- C++11异常处理 noexcept
1.简介 在C语言中,如果程序的运行出现异常.错误,我们想提供方案处理这些异常时,我们面临许多问题,如: (1)C语言没有提供统一(标准)的方式来处理错误: (2)无法保证错误会被正确的处理: (3) ...
- Python 基础之 异常处理
python 基础之异常处理 说到异常处理,就得先问一下,什么是异常处理? 先来看一下,什么是异常? 异常就是:程序运行时发出的错误的信号. 异常的种类先来看一下: 一.常见的异常 Attribut ...
- java基础(11) -JDBC
java基础(11) -JDBC jdbc 1.装载驱动 载入跟数据库建立连接的驱动 /* sql server: String className ="com.microsoft.sqls ...
- c#基础之异常处理
在开发过程中,经常遇到各种各样的小问题,很多是由于基础不牢固,没有经常总结导致的.遇到重复的问题可能可根据以往经验处理,但是对问题本身引发的原因进行深入的了解.工作很多年,但是c#基础像一层冰一样,可 ...
- 十一. Python基础(11)—补充: 作用域 & 装饰器
十一. Python基础(11)-补充: 作用域 & 装饰器 1 ● Python的作用域补遗 在C/C++等语言中, if语句等控制结构(control structure)会产生新的作用域 ...
- 『Python基础-11』集合 (set)
# 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...
- J2SE基础题
J2SE基础 八种基本数据类型的大小,以及他们的封装类.(有的也说是9中基本数据类型,包括了void) 基本类型 大小(字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 ...
随机推荐
- Android 控件布局常用的属性
<!--单个控件经常用到android:id —— 为控件指定相应的IDandroid:text —— 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串a ...
- 用js 转化大小写
function capitalize(string){ var words =string.split(" "); for(var i=0;i<words.length;i ...
- 【2019 1月集训 Day1】回文的后缀
题意: 给定 n,s,求有多少个字符集大小为 s ,长度为 n 的字符串,使得其不存在一个长度大于 1 的回文后缀. 答案对 m 取模. 分析: 考场见到计数题的链式反应,想写暴力—>暴力难写— ...
- centos6 磁盘与文件系统管理
一.磁盘管理 磁盘构成 1.圆形磁盘 2.磁盘读取头 3.机械手臂 4.主轴马达 运作原理 数据存储在具有磁性物质的圆形磁盘上,读写操作主要是通过机械手臂上的磁盘读取头来达成,实际运作时,主轴马达让磁 ...
- node函数assert()详解
assert.ok() 的别名. const assert = require('assert'); assert(true); // OK assert(1); // OK assert(false ...
- UVA 221 城市化地图(离散化思想)
题意: 给出若干个栋楼俯视图的坐标和面积,求从俯视图的南面(可以视为正视图)看过去到底能看到多少栋楼. 输入第一个n说明有n栋楼,然后输入5个实数(注意是实数),分别是楼的左下角坐标(x,y), 然后 ...
- bzoj1455左偏树裸题
#include <stdio.h> bool vi[1000010]; int n,de[1000010],ls[1000010],rs[1000010],va[1000010],fa[ ...
- I2C详细介绍
I2C时序 1.开始和停止: 说明: 开始:在SCL的高电平的时候SDA线的从高电平到低电平的跳变定义为开始 停止:在SCL的高电平的时候SDA线的从低电平到高电平的跳变定义为停止 2.有效数据的位置 ...
- 洛谷P3373 线段树2(补上注释了)
毒瘤题.找了一下午+晚上的BUG,才发现原来query_tree写的是a%p; 真的是一个教训 UPD:2019.6.18 #include<iostream> #include<c ...
- C51 中断 个人笔记
总架构图 IE寄存器 控制各个中断源的屏蔽与允许 TCON寄存器 各个中断源的请求标志位&有效信号的规定 中断源及其优先级 中断号写程序的时候要用 CPU处理中断三原则 1.CPU同时接收到几 ...