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.异常处理的更多相关文章

  1. c#基础之异常处理及自定义异常 从SQLServer转储数据到MySQL

    c#基础之异常处理及自定义异常 一.什么是c#中的异常? 异常是程序运行中发生的错误,异常处理是程序的一部分.c#中的异常类主要是直接或者间接的派生于 System.Exception类 ,也就是说S ...

  2. [.net 面向对象编程基础] (11) 面向对象三大特性——封装

    [.net 面向对象编程基础] (11) 面向对象三大特性——封装 我们的课题是面向对象编程,前面主要介绍了面向对象的基础知识,而从这里开始才是面向对象的核心部分,即 面向对象的三大特性:封装.继承. ...

  3. C++11异常处理 noexcept

    1.简介 在C语言中,如果程序的运行出现异常.错误,我们想提供方案处理这些异常时,我们面临许多问题,如: (1)C语言没有提供统一(标准)的方式来处理错误: (2)无法保证错误会被正确的处理: (3) ...

  4. Python 基础之 异常处理

    python 基础之异常处理 说到异常处理,就得先问一下,什么是异常处理?  先来看一下,什么是异常? 异常就是:程序运行时发出的错误的信号. 异常的种类先来看一下: 一.常见的异常 Attribut ...

  5. java基础(11) -JDBC

    java基础(11) -JDBC jdbc 1.装载驱动 载入跟数据库建立连接的驱动 /* sql server: String className ="com.microsoft.sqls ...

  6. c#基础之异常处理

    在开发过程中,经常遇到各种各样的小问题,很多是由于基础不牢固,没有经常总结导致的.遇到重复的问题可能可根据以往经验处理,但是对问题本身引发的原因进行深入的了解.工作很多年,但是c#基础像一层冰一样,可 ...

  7. 十一. Python基础(11)—补充: 作用域 & 装饰器

    十一. Python基础(11)-补充: 作用域 & 装饰器 1 ● Python的作用域补遗 在C/C++等语言中, if语句等控制结构(control structure)会产生新的作用域 ...

  8. 『Python基础-11』集合 (set)

    # 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...

  9. J2SE基础题

    J2SE基础 八种基本数据类型的大小,以及他们的封装类.(有的也说是9中基本数据类型,包括了void) 基本类型 大小(字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 ...

随机推荐

  1. CGPathAddArc

    使用CGPathAddArc使UIView的Layer绕中心点旋转 2012-12-04 15:38 775人阅读 评论(0) 收藏 举报 animationAnimationiosiOSIOSlay ...

  2. element--ui使用tab切换时如何获取当前对象的id或者其他属性

    1. 问题 当使用tab切换时,部分特殊场景需要获取当前元素的类名或者id. 2.解决思路,tab切换是绑定函数,函数会传递过去当前对象,通过当前对象获取对象属性 vue部分代码:本项目是在vue-c ...

  3. First C program

    come from https://mooc.study.163.com/learn/1000002011?tid=2001530003#/learn/content?type=detail& ...

  4. NYOJ-768移位密码,最简单的代替密码;

    移位密码 时间限制:1000 ms  |  内存限制:65535 KB 难度:0 ->   Link   <- 还有1个半小时考信息安全导论,昨晚心血来潮在oj上看到这几个题,简直就是水啊 ...

  5. 用mycat做读写分离:基于 MySQL主从复制

    版权声明:本文为博主原创文章,未经博主允许不得转载. mycat是最近很火的一款国人发明的分布式数据库中间件,它是基于阿里的cobar的基础上进行开发的 搭建之前我们先要配置MySQL的主从复制,这个 ...

  6. 视图 v$sql,v$sqlarea,$sqltext,v$sqltext_with_newlines 的差异

    http://blog.csdn.net/leshami/article/details/8658205 视图v$sql,v$sqlarea,v$sqltext,v$sqltext_with_newl ...

  7. Automation 的 Wait 工具

    public static WebDriverWait createWait(WebDriver driver) { return new WebDriverWait(driver, Environm ...

  8. [ZJOI2010] 数字统计

    [ZJOI2010] 数字统计 题目 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. INPUT 输入文件中仅包含一行两个整数a.b,含义如上所述 OUTP ...

  9. [luoguP1981] 表达式求值(U•ェ•*U)

    传送门 弄两个栈,一个存数,一个存运算符,然后乱搞. 代码 #include <cstdio> #include <cstring> #include <iostream ...

  10. [K/3Cloud] 代码中设置某个字段必录

    Control ctl = this.GetControl(fieldKey); FieldEditor editCtl = ctl as FieldEditor; if (editCtl != nu ...