#千锋逆战班 Java_千峰java逆战1-程序员宅基地

技术标签: java  

生活中处处充满着温情,只要我们有一双善于发现的明亮的眼睛。

异常复习:
<1>

public static void main(String[] args) {
    
		Student stu = new Student();
		try {
    
			stu.setAge(250);//是可能出现异常的代码
		}catch(Exception e) {
    
			System.err.println(e.getMessage());//只获得报错的原因即可
		} 
		
		try {
    
			stu.setSex("未知");//受查异常,编译期间就报错,需要处理
		}catch(SexMismatchException se) {
    //根据方法声明的异常,捕获相应的类型
			System.err.println(se.getMessage());
		}catch(Exception e ) {
    
			e.printStackTrace();
		}
		
		
//		Class.forName("xxx.xxx");//参数(包名.类名)   可能写错
	}
}
class SexMismatchException extends Exception{
    
	public SexMismatchException() {
    }
	public SexMismatchException(String message) {
    
		super(message);
	}
}
class AgeInputException extends RuntimeException{
    
	
	public AgeInputException() {
    }//支持创建无异常原因信息的异常对象
	public AgeInputException(String message) {
    //提供有参构造方法,支持编写异常原因信息
		super(message);//调用父类的有参构造方法,为message属性赋值。
	}
}
class Student{
    
	private int age;
	private String sex;
	
	public void setSex(String sex)throws SexMismatchException{
    
		if(sex.equals("男")||sex.equals("女")) {
    
			this.sex=sex;
		}else {
    
			throw new SexMismatchException("性别输入的值为:“男”或者“女”");
		}
	}
	public String getSex() {
    
		return this.sex;
	}
	public int getAge() {
    
		return this.age;
	}
	public void setAge(int age){
    
		if(age > 0 && age < 123) {
    
			this.age = age;
		}else {
    
			throw new AgeInputException("年龄的赋值应该在0岁到123岁之间");//抛运行时异常的父类。 不合理。现存的定义好的异常,没有符合现在程序的场景
		}
	}
}

输出参考:
年龄的赋值应该在0岁到123岁之间
性别输入的值为:“男”或者“女”

<2>

public static void main(String[] args) {
    
		System.out.println(ma());
		System.out.println("请输入您的用户名:");
	}
	public static int ma() {
    
		int b = 0;
		//读入一个整数b;
		try {
    
			int n = 100;
			return n / b;
		}catch(Exception e) {
    
			return 10;
		}finally {
    
			System.out.println("程序结束了!");
		}
	}
}

输出参考:
程序结束了!
10
请输入您的用户名:

<3>

public class TestOverrideExceptionMethod {
    

	public static void main(String[] args) {
    
			Super sup = new Sub();//父类引用指向子类对象  多态
			try {
    
				sup.method();//在编译期间,调用的父类中声明的方法是有异常的,需要处理
			}catch(Exception e) {
    
				e.printStackTrace();//处理方案之1:打印堆栈跟踪信息
			}
	}
}
class Super{
    
	public void method()throws Exception{
    
		System.out.println("method in  Super");
	}
}
class Sub extends Super{
    
	public void method()throws ClassNotFoundException,RuntimeException,IOException,SQLException{
    
		System.out.println("method in  Sub");
	}
}

interface Printable{
    
	public void print()throws Exception;
}
class MyClass implements Printable{
    
	public void print() throws ClassNotFoundException,RuntimeException{
    
		
	}
}

输出参考:
method in  Sub

<4>

	public static void main(String[] args) {
    
		int result = m1();
		System.out.println(result);
	}
	public static int m1() {
    
		int a = 10;
		try {
    
			a = 20;
			throw new RuntimeException();
		}catch(Exception e) {
    
			a = 30;
			return a;
		}finally {
    
			a = 40;
		}
	}
}

输出参考:
30

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xzaihh/article/details/104785490

智能推荐

机器学习-Anomaly Detection_根据f1值或者查准率与查全率的比例来选择ε-程序员宅基地

文章浏览阅读347次。Problem Motivation异常检测(Anomaly detection)是机器学习算法的一个常见应用。这种算法的一个有趣之处在于:它虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题。假想你是一个飞机引擎制造商,当你生产的飞机引擎从生产线上流出时,你需要进行 QA(质量控制测试),而作为这个测试的一部分,你测量了飞机引擎的一些特征变量,比如引擎运转时产生的热量,..._根据f1值或者查准率与查全率的比例来选择ε

【蓝桥杯2024真题】好数

【评测用例规模与约定】 对于10%的评测用例,1≤N≤100。对于100% 的评测用例,【样例说明】 对于第一个样例,24以内的好数有1、3、5、7、9、21、23,一共7个。时间限制: 1.0s 内存限制: 256.0MB 本题总分:10分。【输出格式】 一个整数代表答案。【输入格式】 一个整数N。【样例输入2】 2024。【样例输出2】 150。【样例输入1】 24。

Java毕业设计 基于SpringBoot vue城镇保障性住房管理系统

首页 图片轮播 房源信息 房源详情 申请房源 公示信息 公示详情 登录注册 个人中心 留言反馈后台管理 登录 个人中心 修改密码 个人信息 用户管理 房屋类型 房源信息管理 房源申请管理 住房分配管理 留言板管理 轮播图管理 公示信息管理角色:用户 管理员大家可。

xhadmin多应用SaaS框架之智慧驾校H5+小程序v1.1.5正式发布!

xhadmin 是一套基于最新技术的研发的多应用 Saas 框架,支持在线升级和安装模块及模板,拥有良好的开发框架、成熟稳定的技术解决方案、提供丰富的扩展功能。为开发者赋能,助力企业发展、国家富强,致力于打造最受欢迎的多应用 Saas 系统。

【Vue3源码学习】— CH3.4 baseCreateRenderer 详解

在 baseCreateRenderer 中,定义了多种方法,例如 patch、mountComponent、updateComponent 等,这些方法各自承担不同的渲染任务。这些定义不直接执行任何操作,而是为后续的渲染流程提供必要的工具和函数。baseCreateRenderer 更像是一个配置和定义渲染器行为的场所,而具体的渲染逻辑则是在实际调用 render 方法时,按需执行这些预定义的方法。这样的设计不仅清晰地分离了配置与执行,也使得 Vue 渲染器可以灵活地适应不同的渲染需求和环境。

ROS1快速入门学习笔记 - 10服务数据的定义和使用

三个横线作为一个区分,上面是request,下面是response;创建完之后如下所示。

随便推点

空调采集网关让空调更智能,让节能更简单!_空调外接网关进行数据采集的方案-程序员宅基地

文章浏览阅读304次。钡铼技术作为全球行业领先技术水平的工业物联网硬件研发企业,拥有资深的工控物联网产品的研发能力以及专业的工业物联网技术研发团队,为大型园区、楼宇、医院、学校、工厂机房等多种场景提供中央空调集成通信解决方案,根据各大空调制造商运用的不同协议,钡铼技术研发的空调采集网关目前支持大金、日立、东芝、三菱电机、海信、海尔、松下、约克、三菱重工、美的、奥克斯、博世、LG、格力等多个领先空调品牌。空调控制系统由云服务器、空调采集网关、空调设备组成。2、据测算,在正确使用空调的前提下,制冷空调温度每提高1℃,可节电8%;_空调外接网关进行数据采集的方案

经典收藏 50个jQuery Mobile开发技巧集萃-程序员宅基地

文章浏览阅读460次。1、Backbone移动实例这是在Safari中运行的一款Backbone移动应用程序。想开始体验移动开发,一个好的出发点就是关注这个应用程序的构建方式。先不妨在你的浏览器中查看该应用程序。相关链接:http://bennolan.com/2010/11/24/backbone-jquery-demo.html2、使用媒体查询来锁定设备你可能会问如何使用CSS来锁定设备(根...

C++GDI做进度条-程序员宅基地

文章浏览阅读264次。直接上代码:#include <windows.h> /* This is where all the input to the window goes to */LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) { switch(Message) { /* Upon destruction, tell the main thread to stop */ ..

7-34 通讯录的录入与显示 -----python_7-34 通讯录的录入与显示python-程序员宅基地

文章浏览阅读1.4k次。通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。 本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。输入格式:输入在第一行给出正整数N(≤10);随后N行,每行按照格式姓名 生日 性别 固话 手机给出一条记录。其中姓名是不超过10个字符、不包含空格的非空字符串;生日按yyyy/mm/dd的格式给出年月日;性别用M表示“男”、F表示“女..._7-34 通讯录的录入与显示python

K210与STM32之间的通信_k210与stm32通信-程序员宅基地

文章浏览阅读5.1k次,点赞2次,收藏70次。K210与STM32之间使用串口进行通信_k210与stm32通信

OpenHarmony语言基础类库【@ohos.util.List (线性容器List)】

而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点。

推荐文章

热门文章

相关标签