异常

在程序执行过程中由于设计或设备原因导致的程序中断的异常现象叫做异常

在try-catch-finally代码块中,finally是一定会执行的部分,如果finally中有return部分,则一定是执行该return而不是try-catch的(所以一般不在finally中return)

finally块可以省略,根据需求决定是否需要finally块

自定义异常

public class ZDYException extends Exception {
public ZDYException() {}
//定义带字符串参数的构造方法表示对此异常的说明描述
public ZDYException(String masage) {
super(masage);
}
} //一个实际案例
public class TestZDYException {
public static void main(String[] args) throws ZDYException {
check("123456");
}
//设计一个方法,完成邮箱格式的初步验证(判断传入的字符串是否包含@符)
//若字符串包含@返回true,否则返回false并抛出自定义异常
public static void check(String email){
if(email.contains("@")) {
System.out.println(true);
}else {
System.out.println(false);
try {
throw new ZDYException("没有@符");
} catch (ZDYException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

枚举

枚举是一个引用类型,枚举就是一个规定了取值范围的变量类型

public enum Season {  //枚举的定义
SPRING("2-5月") {
public void printMessage() { //这里可以重构方法
System.out.println("适合出游");
}
}, SUMMER("5-8月"), AUTUMN("8-11月") {
public void printMessage() {
System.out.println("适合出游");
}
}, WINTER("11-1月"); private String month; private Season(String month) { //私有方法必须私有化
this.month = month;
} public String getMonth() {
return month;
} public void setMonth(String month) {
this.month = month;
} public void printMessage() {
System.out.println("不适宜出游");
}
}

枚举的使用

  • ordinal():获得枚举序数

  • compareTo():枚举比较-序数做差

  • valueOf(Class<T> enumType, String name):[重要]指定要获取的枚举类型和元素,返回一个枚举对象

  • values():静态方法,获取枚举类型中的所有枚举元素,返回一个数组

String str = "春天";
Season season = Season.valueOf(Season.class, str); switch (season) {
case SPRING:
case SUMMER:
case AUTUMN:
case WINTER:
System.out.println("对应的月份是" + season.getMonth());
season.printMessage();
break;
default:
break;
}

Java(异常、枚举)的更多相关文章

  1. Java 异常讲解(转)

    六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?   1 OutputStreamWrite ...

  2. 一篇不错的讲解Java异常的文章(转载)

    http://www.blogjava.net/freeman1984/archive/2007/09/27/148850.html 六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已 ...

  3. Java异常封装(自己定义错误码和描述,附源码)

    真正工作了才发现,Java里面的异常在真正工作中使用还是十分普遍的.什么时候该抛出什么异常,这个是必须知道的. 当然真正工作里面主动抛出的异常都是经过分装过的,自己可以定义错误码和异常描述. 下面小宝 ...

  4. Java学习--枚举

    枚举类型enum,地位等同于class,interface 使用enum定义的枚举类型,也是一种变量类型,可用于声明变量 枚举的一些特征 1.它不能有public的构造函数,这样做可以保证客户代码没有 ...

  5. Java异常封装

    转载: Java异常封装 Java里面的异常在真正工作中使用还是十分普遍的.什么时候该抛出什么异常,这个是必须知道的. 当然真正工作里面主动抛出的异常都是经过分装过的,自己可以定义错误码和异常描述. ...

  6. Java enum枚举类型

    java的枚举类型详解: 简单示例: public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN } 复杂示例(带自定义构造方法与类型) public enum En ...

  7. SpringBoot07 异常枚举、自定义异常、统一的全局异常处理

    1 异常编号和提示信息统一管理 利用枚举来实现异常的统一管理 package cn.xiangxu.springboottest.enums; import lombok.Getter; /** * ...

  8. 一篇不错的讲解Java异常的文章(转载)----感觉很不错,读了以后很有启发

    六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? OutputStreamWriter ou ...

  9. Java异常封装(自定义错误码和描写叙述,附源代码)

    真正工作了才发现.Java里面的异常在真正工作中使用还是十分普遍的. 什么时候该抛出什么异常,这个是必须知道的. 当然真正工作里面主动抛出的异常都是经过分装过的,自己能够定义错误码和异常描写叙述. 以 ...

  10. Java笔记---枚举类和注解

    Java笔记---枚举类和注解 一.枚举类 自定义枚举类 方式一:JDK5.0之前自定义枚举类 class Seasons { //1. 声明Seasons对象的属性 private final St ...

随机推荐

  1. linux创建新用户,可以使用sudo无密码操作

    useradd -d /home/aiuap -m aiuappasswd aiuapXXXXXXXgroupadd aiuapchown -R aiuap:aiuap /home/aiuap chm ...

  2. js /Date(1550273700000)/ 格式转换

    self.FormatJsonDate = function (jsonStr) { var tmp = ""; if (jsonStr == null || jsonStr == ...

  3. sdl2在vs2012上的配置

    网上关于sdl2的配置教程很多,我尽量将我遇到的问题分享给大家. 首先,打开VS2012: 2.点击新建项目:选择空项目,确定即可 (文件名,保存位置,解决方案名称,可以随便填,(我取名为sdlpla ...

  4. xss处理

    今天学习了xss,主要记载如下: https://blog.csdn.net/sdauzyh/article/details/74942737

  5. this.$nextTick()作用

    当data中的某个属性改变的时候,这个值并不是立即渲染到页面上,而是先放到watcher队列上(异步),只有当前任务空闲的时候才会去执行watcher队列上的任务.所以导致,改变的数据挂载到dom上会 ...

  6. vxlan基础

    1. 为什么需要Vxlan 普通的VLAN数量只有4096个,无法满足大规模云计算IDC的需求,而IDC为何需求那么多VLAN呢,因为目前大部分IDC内部结构主要分为两种L2,L3.L2结构里面,所有 ...

  7. [转载]Fiddler为所欲为第四篇 直播源抓取与接口分析 [四]

    今天的教程,主要是教大家如何进行“封包逆向”,关键词跳转,接口分析.(怎么样,是不是感觉和OD很像~~~)今天的教程我们以[麻花影视]为例,当然,其他APP的逻辑也是一样,通用的哦~ 首先需要做好准备 ...

  8. Sonar 平台搭建及 Sonar 自定义规则打包部署篇

    引言 基于阿里开发手册的sonar自定义插件工程 开源地址: https://github.com/tigerge000/sonar-java-custom-rules.git由于最近来问童鞋,就算写 ...

  9. Java学习笔记(4)

    比较两个String时,用==比较两个String是否引用同一个对象,s1.equals(s2)比较两个对象的内容是否相同,也可以用s1.compareTo(s2)来确定两个String的内容是否相同 ...

  10. re模块(正则表达式)

    re,findall("匹配正则","内容") #所有满足条件的结果都返回到一个列表里 ret = re.search(“匹配规则”,“内容”) #返回 匹配到 ...