今日所学:

/* 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. PHP 实现精确统计在线人数功能

    有需要学习交流的友人请加入交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的.感谢阅读! 点此加入该群​jq.qq.com PHP对session对象的封装的很好,根据HTTP协议,每个范 ...

  2. JAVA描述算法和数据结构(01):稀疏数组和二维数组转换

    本文源码:GitHub·点这里 || GitEE·点这里 一.基本简介 1.基础概念 在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵:与之相反, ...

  3. C#-Excel导入工资条群发邮箱

    第一次写随笔,一名在实习的程序猿,做的一个小应用,需要的朋友可以参考参考, 使用WinForm实现了一个导入Excel,群发工资条的功能.功能已经实现,还不够完善,. 大致运用了OleDbConnec ...

  4. kali安装vmtool后依旧无法拖拽文件,复制粘贴,解决办法

    本文链接:https://blog.csdn.net/Key_book/article/details/80310235命令行下 执行 apt-get install open-vm-tools-de ...

  5. 2. 移动安全渗透测试-(Android安全基础)

    2.1 Android系统架构 1.应用程序层 平时所见的一些java为主编写的App 2.应用程序框架层 应用框架层为应用开发者提供了用以访问核心功能的API框架 android.app:提供高层的 ...

  6. from __future__ import absolute_import,division,print_function的作用

    绪论: 最近看多的项目中都文件的开头都带引入了三个模块,特地去查了下其作用(注:验证需要在python2的环境下) absolute_import :绝对导入,其作用是导入模块的时候如果在当前项目目录 ...

  7. Spark中持久化和序列化学习

    一.cache和persisit的对比 -rw-r--r--@ 1 hadoop staff 68M 5 17 07:04 access.log    cache/persitence是 laz ...

  8. RMAN DUPLICATE DATABASE with SET NEWNAME failed: RMAN-05501 RMAN-05517 (Doc ID 387093.1)

    RMAN DUPLICATE DATABASE with SET NEWNAME failed: RMAN-05501 RMAN-05517 (Doc ID 387093.1) APPLIES TO: ...

  9. Druid-代码段-1-5

    所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应流程1.4,抛弃连接: //丢弃连接 public void discardConnection(Connection real ...

  10. Paper慢慢读 - AB实验人群定向 Learning Triggers for Heterogeneous Treatment Effects

    这篇论文是在 Recursive Partitioning for Heterogeneous Casual Effects 的基础上加入了两个新元素: Trigger:对不同群体的treatment ...