Java之异常Throwable

2023-11-16

异常Throwable


在这里插入图片描述
自定义异常案例:

package com.week03.Day01;
/*
*总结:异常:Throwable
*           /     \
*       Error     Exception
*                   /    \
*       CheckException    RuntimeException
* 编译时异常:1、直接抛出异常,由调用者处理异常
*           2、直接catch捕获异常,处理掉异常
*
* 运行时异常:1、直接抛出异常,由调用者处理异常
*           2、直接catch捕获异常,处理掉异常
*           3、编写健壮性代码,完善程序
*
* throw 和 throws 的区别:throw:制造异常
*                       throws:抛出异常
*
* 捕获异常格式:try{
*               可能出现异常的代码
*            }catch(异常类型 变量){
*               处理异常/变量名.printStackTrace()
*           }finally{
*               无论是否存在异常必定执行(return 也阻拦不了)
*           }
*
* 自定义异常:编译自定异常时:extends Exception(父类,不继承CheckException是因为无这个类新的异常)
*           运行自定异常时:extends RuntimeException(父类)
*
* */
public class Demo02 {
    public static void main(String[] args)  {
        User u=new User();
       // u.setAge(-10);
        try {
            u.setAge(-10);
        } catch (AgeException e) {
            try {
                u.setAge(20);
            } catch (AgeException ex) {
                ex.printStackTrace();
            }
        }
        u.setName("张三");
        System.out.println(u.toString());
    }
}

//class AgeException extends RuntimeException{

class AgeException extends Exception{
    public AgeException(){

    }
    public AgeException(String s){
        super(s);
    }
}

class User{
    private int age;
    private String name;

    public int getAge() {
        return age;
    }

    @Override
    public String toString() {
        return "User{" +
                "age=" + age +
                ", name='" + name + '\'' +
                '}';
    }

    public void setAge(int age) throws AgeException {
        if(age<18 || age>50) {
            throw new AgeException(age + "不合法");
        }
        this.age=age;
    }

    public User() {
    }

    public String getName() {
        return name;
    }

    public User(int age) {
        this.age = age;
    }

    public void setName(String name) {
        this.name = name;
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java之异常Throwable 的相关文章

随机推荐

  • logback日志配置

  • Top-level statements must precede namespace and type declarations. [Test]csharp(CS8803)

    C NET 6 结构体 C 控制台应用程序定义了一个结构体 然后创建结构体实例 报如下错误 Top level statements must precede namespace and type declarations Test csh
  • 浅谈Dictionary用法

    一 基础篇 1 Dictionary泛型类提供了从一组键到一组值的映射 即键和值的集合类 2 Dictionary通过键来检索值的速度是非常快的 这是因为 Dictionary 类是作为一个哈希表来实现的 3 定义方式 Dictionary
  • 爬虫-Xpath-数据提取

    Xpath数据提取 xpath基本介绍和使用 xpath中常用的获取节点的表达式 xpath中常用的获取特定节点的表达式 XPath XML Path Language 是一门在 HTML XML 文档中查找信息的 语言 可用来在 HTML
  • return _compile(pattern, flags).search(string) TypeError: expected string or bytes-like object

    今天使用正则处理excel的数据时 报了一个错误 记录一下处理的方法 一开始去查了下报错 但是大多别人的答案却不能够解决我的问题 该错误的意思是 类型错误 期望的字符串或字节类对象 那就是我使用正则的数据有问题 我查看了下我的数据类型 果然
  • 容器云技术选择之kubernetes和swarm对比

    swarm和k8s本质都是容器编排服务 它们都能把底层的宿主机抽象化 然后将应用从以构建好的镜像开始 最终以docker的方式部署到宿主机上 应该选择哪种方案作为我们的容器云服务呢 我觉得k8s kubernetes简称 跟swarm的比较
  • 写出Java爱心代码

    以下是一段简单的Java代码 它用字符画了一个爱心图形 public class Heart public static void main String args System out println System out println
  • 猜数字小游戏(JAVA)

    猜数字小游戏 题目描述 代码 运行效果 新增功能 思路 代码 运行效果 题目描述 猜数字 又称 Bulls and Cows 是一种古老的的密码破译类益智类小游戏 起源于20世纪中期 一般由两个人或多人玩 也可以由一个人和电脑玩 通常由两个
  • 论区块链应用开发中的技术选型

    区块链技术栈总览 区块链技术栈现阶段总览 链端选型 Fabric x 逐渐被市场淘汰 和以太坊不能兼容的链 x 原因 单打独斗 无法借力 FISCO BCOS Venachain 基于 Move 的链 maybe 前端技术栈 React o
  • RobotFramework详细安装教程

    RobotFramework详细安装教程 Robot Framework安装教程 需要安装以下 1 Python2 7以上版本 这里用的是 Python3 8 2 pip 和 setuptools Python 的套件管理程式 最新版的Py
  • Linux中/etc目录下passwd、shadow、group、gshadow文件解释

    Linux用户和用户组管理 etc目录解释 1 Linux etc passwd内容解释 2 Linux etc shadow 影子文件 内容解析 3 Linux etc group文件解析 4 Linux etc gshadow文件内容解
  • js中this指向问题

    1 概念 函数中的this指向 非严格模式下this指向全局变量window 严格模式下this为undefined 对象中的this指向 指向该对象本身 类中的this指向 指向该对象的实例对象 this指向的修改问题 2 函数中的thi
  • 【ES6】中var、let、const的区别

    一 块级作用域 ES5 中作用域有 全局作用域 函数作用域 ES6 中新增了块级作用域 块级作用域由 包括 if语句和for语句里面的 也属于块级作用域 var a 1 console log a 1 console log a 1 通过v
  • 微信小程序获取用户openid,头像昵称信息,后台java代码

    小程序前端 app js wx login success res gt 发送 res code 到后台换取 openId sessionKey unionId if res code wx getUserInfo success func
  • 池化层的作用

    目录 1 池化层理解 2 池化层的作用 3 函数解析 tf nn max pool value ksize strides padding name None 4 代码演示详解维度变化 1 池化层理解 池化层夹在连续的卷积层中间 用于压缩数
  • 【Python】请编码实现动物世界的继承关系:动物(Animal)具有行为:吃(eat)、睡觉(sleep)动物包括:兔子(Rabbit),老虎(Tiger)动物吃的行为各不相同(兔子吃草,老虎吃肉)

    请编码实现动物世界的继承关系 a 动物 Animal 具有行为 吃 eat 睡觉 sleep b 动物包括 兔子 Rabbit 老虎 Tiger c 这些动物吃的行为各不相同 兔子吃草 老虎吃肉 d 但睡觉的行为是一致的 e 请通过继承实现
  • 求助帖!Robotframework导入selenium2library库后缺少一些关键字,怎么解决

    求助帖 Robotframework导入selenium2library库后缺少一些关键字 怎么解决 找不到Open Browser等一般关键字 安装的版本如下 但是我的site packages中的文件都正常 可就是找不到某些关键字 求助
  • 计算机学感悟,计算机学习感悟

    篇一 计算机学习感悟 浅谈学习 计算机应用基础 的收获与感悟 随着信息技术的快速发展 计算机已成为人们在经济生活 社会 交往和日常生活中不可缺少的工具 是否具有使用计算机的基本技 能 已成为衡量一个人文化素质高低的重要标志之一 上高中的时候
  • 目标检测params,flops计算

    目标检测params flops计算 参数数量用params表示 关系到模型大小 单位通常为M 通常参数用float32表示 所以模型大小是参数数量的4倍 理论计算量用FLOPs或者M Adds表示 这里用FLOPs写起来简单 关系到算法速
  • Java之异常Throwable

    异常Throwable 自定义异常案例 package com week03 Day01 总结 异常 Throwable Error Exception CheckException RuntimeException 编译时异常 1 直接抛