异常:

程序运行一旦出现异常程序就会立刻结束不在向下运行

处理异常:在程序执行代码时,万一发生了异常,程序会按照处理的方法对一场进行处理办法,程序将继续执行

try-catch-finally-throws

try代码中存放执行的代码,catch代码块存放异常信息(具体不变的) 列 catch(Exception e){e.printStackTrace();System.out.print(“出现错误”)}

finally代码中一般放结束语句   列 finally{System.out.print(“感谢使用本程序”)}

throws Exception使用:

public class Student{

private String name=""; private String sex = "man";private int age;

public void setAge(int age){

this.age = age;}

public void setSex(String sex) throws Exception{//声明异常

if("man".equals(sex)||"woman".equals(sex)){

this.sex = sex;}else{

throw new Exception ("sex mustbe man or woman")}//抛出异常 自定义异常

thows 在方法头部(可跟多个)声明异常

throw 方法题里面手动创建异常类对象(抛出异常)

题库:

finally不管异常发生不发生都会运行只有一种情况不运行(System.exit(1)退出java虚拟机)

异常是一个对象能和catch语句一块使用的是try,一个try能匹配多个catch

异常的区分:

运行时异常:RuntimeException及所有子类

受检异常:class not found/SQLException/IOException 必须捕获或声明  try-catch

算术异常:ArithmetioException  Error 程序无法处理

Throwable 所有异常的父类

如果一段代码会出现多种异常可使用多重异常可使用多重catch块,排序是先子类到父类(Exception e)

异常基类为Exception。所有异常都直接或间接继承它

如果某异常继承RuntimeException,则该异常可以不被声明

在当前位置捕获异常并处理通过  try{}catch(){}

简述为什么不用if-else处理异常

1.代码臃肿,加入了大量异常情况判断和处理代码

2.减少了编写业务代码的时间,影响开发效率

3.异常处理和业务交织在一起,影响代码可读性,加大了程序的可维护性

简述throws和throw的区别:

1.作用不同,throw用于程序中抛出异常,throws声明该方法内抛出了异常

2.使用位置不同,throw位于方法体内部,可作为单独语句使用,throws必须跟在方法参数后面,不能单独使用

3.内容不同:throw抛出一个异常对象,而且只能是一个

throws后跟异常类,且可跟多个异常类

java第六章异常的更多相关文章

  1. “全栈2019”Java第六章:注释

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  2. [Effective Java]第六章 枚举和注解

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. Java 第六章

    第六章 for语法:for(表达式①;表达式②;表达式③){ //④循环操作}表达式含义:表达式1:赋值语句, 它用来给循环变量赋初值 例如:int i = 1;表达式2:循环条件,一个关系表达式, ...

  4. Java - 自定义异常(尚学堂第六章异常机制作业计算平均数)

    编写一个计算N个学生分数平均分的程序.程序应该提示用户输入N的值,如何必须输入所有N个学生分数.如果用户输入的分数是一个负数,则应该抛出一个异常并捕获,提示“分数必须是正数或者0”.并提示用户再次输入 ...

  5. Java - 自定义异常(尚学堂第六章异常机制作业判断三角形)

    写一个方法void isTriangle(int a,int b,int c),判断三个参数是否能构成一个三角形, 如果不能则抛出异常IllegalArgumentException,显示异常信息 “ ...

  6. Andrew Ng-ML-第十六章-异常检测

    1.问题动机 图1.飞机发动机检测例子 对飞机引擎的例子,如果选取了两个特征x1热量产生度,x2震动强度.并得到如下的图,如果有一个新的引擎来检测其是否正常,x_test,那么此时如果点落在和其他点正 ...

  7. 疯狂JAVA——第六章 面向对象(下)

    6.1包装类 java为了照顾程序员的传统习惯,所以提供了八种基本数据类型.但也带来不方便,例如所有引用类型都继承自Object类,都可当做Object类型变量使用.但基本数据类型的变量就不可以.如果 ...

  8. Java 第六章 循环结构2

    循环结构 2 会使用 for 循环结构 会在程序中使用 break 和 continue for 比 while 更简洁 什么是 for 循环 ... 语法: for 循环的语法和执行顺序 备注:2条 ...

  9. java 第六章 面向对象基础

    1.面向对象编程思想 面向过程编程 传统的C语言属于面向过程编程.面向过程解决问题的思路:通常是分析出解决问题所需要的步骤,然后用方法把这些步骤一步一步实现,最后一个一个依次调用方法来解决. 面向过程 ...

随机推荐

  1. ubuntu16.04 HyperLedger Fabric 1.2.0 开发环境搭建

    安装准备 1. 安装git.cRUL.gcc/g++和make $ sudo apt-get update $ sudo apt-get install build-essential git cur ...

  2. 音乐出身的妹纸,零基础学习JAVA靠谱么

    问:表示音乐出身的妹纸一枚  某一天突然觉得身边认识的是一群程序员   突然想 要不要也去试试... 众好友都觉得我该去做个老师,可是我怕我会误人子弟,祸害祖国下一代..... 要不要 要不要 学Ja ...

  3. Bootstrap switch 切换状态踩坑

    Boostrap switch 下载地址(http://www.bootcss.com/p/bootstrap-switch/),同时配有一些简单的用例. 其中写到 Toggle State切换状态的 ...

  4. Redis单机版分布式锁实现

    转载自:https://www.cnblogs.com/linjiqin/p/8003838.html Redis分布式锁的正确实现方式 前言 分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基 ...

  5. c语言实现:三子棋

    问题描述:两个游戏者在3*3棋盘里轮流作标记,如果一个人在行,列或者两个对角线可以作三个标记,则为获胜. 我们首先得打印菜单供玩家选择(可以选择玩游戏或者退出游戏) void menu() { pri ...

  6. 6. spring启动类配置问题

    1. @SpringBootApplication(scanBasePackages={"com.example.*"}) 相当与 @SpringBootApplication @ ...

  7. frist Django app— 二、 Model和管理界面

    Django是符合MVC架构的,这里现学习M—Model,而且Django自带了一个管理model(数据库)的界面,所以一并学习. Database 配置 编辑Django的配置文件settings. ...

  8. 使用idea建立逆向工程

    逆向工程(Mybatis Generator) 概念 mybatis Generator 中文官网 mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表 自动生成m ...

  9. cdh启动datanode报错

    问题: 为cdh新增节点时,在分配datanode后,启动报错 Can't open /iot/opt/cloudera-manager/cm-5.11.2/run/cloudera-scm-agen ...

  10. WPF 自定义控件缩放

    方式一: 自定义控件使用固定大小绘制:控件内的各个子控件大小设定固定值 优点:控件绘制简单.快捷. 缺点:使用时如需缩放,需在自定义控件的外面加一个 ViewBox . 使用示例如下(将 UserCo ...