今日所学:

/* 2019.08.19开始学习,此为补档。 */

Java异常处理

1.异常的概念:程序运行过程中发生的问题,从而引发了中断。

2.捕获和处理异常:Java中,用try ... catch ... 来捕获异常;try ... catch ... finally

①try里面写可能会有异常的代码语句,catch里面捕获,然后处理。为了调试方便,打印出栈信息,以便跟踪。

②finally:即使有return,也一定会执行了再返回。

3.①throws表示当前方法不处理异常,而是交给方法的调用处去处理。  //向上抛

相当于声明抛出异常。  //把异常向外面抛,不想处理,抛给别人。

例如:throws NumberFormatException

②throw表示直接抛出一个异常。

例:

public static void testThrow(int a) throws Exception {
if(a == 1) {
throw new Exception("有异常") ;
}
System.out.println(a) ;
public static void main(String[] args) {
try {
testThrow(1) ;
} catch(Exception e) {
e.printStackTrace() ;
}
try {
testThrow(0) ;
} catch(Exception e) {
e.printStackTrace() ;
}

4.①Exception是检查型异常,编译时会检查。在程序中必须使用try ... catch ...进行处理。

②RuntimeException是非检查型异常,编译时不检查。

例如NumberFormatException,可以不使用try ... catch ...进行处理。但是如果产生异常,则异常将由JVM进行处理。

因此最好也用try ... catch ...捕获。

5.自定义异常类:定义一个子类继承自Exception。

例如:

public class CustomException extends Exception {
public CustomException(String message) {
super(message) ;
} //构造方法
}

PlayJava Day011的更多相关文章

  1. day01-1 常用dos命令

    计算机 = 硬件 + 软件 硬件: cpu 计算机中的运算核心与控制核心.负责了解析计算机的指令与计算机运算的执行. 内存 数据与cpu交互的桥梁.程序所需要的数据都会先加载到内存中.cpu直接读取内 ...

  2. python学习 day011打卡 迭代器

    本节的主要内容: 1.函数名的使用以及第一类对象 2.闭包 3.迭代器 一.函数名的运用. 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量. 1.函数名的内存地址 def fun ...

  3. PlayJava SSM框架简介

    SSM框架 SSM是Spring + Spring MVC + MyBatis的缩写,是一个继SSH之后目前比较主流的JavaEE框架,适用于搭建各种企业级应用系统. Spring Spring是一个 ...

  4. PlayJava Day030

    1.实例化Class类对象 //第一种,可靠高效 Class c0 = String.class ; //第二种,使用对象 Class c1 = "zhangsan".getCla ...

  5. PlayJava Day029

    1.Java Reflection:Reflection(反射)是被视为动态语言的关键 反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息 并能直接操作任意对象的内部属性及 ...

  6. PlayJava Day028

    1.网络程序中套接字(Socket)用于将应用程序与端口连接起来 套接字是一个假想的连接装置,就像插插头的设备”插座“,用于连接电器与电线,如下所示 客户端:应用程序 <----> Soc ...

  7. PlayJava Day027

    进程状态 1.创建状态:在程序中用构造方法创建了一个线程对象后,新的线程对象便处于新建状态 此时,它已经有了相应的内存空间和其他资源,但还处于不可运行状态 新建一个线程对象可采用Thread类的构造方 ...

  8. PlayJava Day026

    1.泛型:指代任意对象类型 public class CC<T> {} C<Integer> c = new C<Integer>(1) ; 2.限制泛型:用于继承 ...

  9. PlayJava Day025

    JTable 用JTable类可以以表格的形式显示和编辑数据 JTable类的对象并不存储数据,它只是数据的表现 MVC 数据.表现和控制三者分离,各负其责 M = Model(模型) V = Vie ...

随机推荐

  1. Java描述设计模式(07):适配器模式

    本文源码:GitHub·点这里 || GitEE·点这里 一.适配器模式简介 1.基础概念 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在 ...

  2. 【Visio流程图】借助redis来实现数据即时刷新

    [需求:]数据从竞品网站爬过来,经过分析处理之后,把结果通过网页实时反馈给业务人员. [应用:]2个应用: 一个是爬取数据的应用:不断从竞品网站爬数据,每次爬到的数据为一批.然后,对每一批爬到的数据进 ...

  3. for循环使用element的折叠面板遇到的问题-2

    需求:每次添加一个折叠面板时,让最新的折叠面板展开,其余的关闭 动态控制展开折叠面板,首先绑定name,v-model = activeName 我们的项目中是当添加折叠面板时,直接push进这个数组 ...

  4. jquery.wordexport.js打印echarts.js画出的柱状图

    jquery.wordexport.js打印echarts.js画出的柱状图. echarts画出的图是不能直接打印出来的(echarts的柱状图是用canvas画出来的),而jquery.worde ...

  5. 记录:c#实现微信,支付宝扫码支付(一)

    因为公司系统业务需要,这几天了解了一下微信和支付宝扫码支付的接口,并用c#实现了微信和支付宝扫码支付的功能. 微信支付分为6种支付模式:1.付款码支付,2.native支付,3.jsapi支付,4.a ...

  6. Redis主从复制的基本操作

    一,安装: 1.1.将redis压缩包放到 /opt 下. 2.解压 3.进入目录执行  make 4.执行  make  install 5.在 / 下创建redis文件夹mkdir redis 6 ...

  7. MySQL中if的写法

    关键词:IF --if 判断,如果 device_num 的值为1,则赋值为100,反之为200 SELECT district, shop_name, IF ( device_num , , ) A ...

  8. CheckBoxList选中某项,获取其它项是否是选中

    <div class="formControls col-xs-8 col-sm-9" style="margin-top:-15px;" id=&quo ...

  9. Android Recovery升级原理

    摘要 Recovery模式指的是一种可以对安卓机内部的数据或系统进行修改的模式(类似于windows PE或DOS).也可以称之为安卓的恢复模式,在这个所谓的恢复模式下,我们可以刷入新的安卓系统,或者 ...

  10. Scrapy_redis主机连接虚拟机的数据库时显示积极拒绝,无法连接

    1.端口转发 在虚拟机设置各个数据库对应的端口转发 2.修改数据库配置文件 默认只有本机的IP才可以访问,其它IP就连不上了,修改bind ip  为0.0.0.0 3.重启服务(或者直接重启虚拟机) ...