#千锋逆战班 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

智能推荐

Android Studio查看Android源码_win查看安卓源码-程序员宅基地

文章浏览阅读4.3k次。最近在折腾面试,然后就有些组件的原理需要看源码,之前也弄过,都是用的Source Insight在win10里面搞的,今天试了一下Mac,源码60G,我这个版本是Android 11,目前是最新版的代码。用AS看源码首先要构建项目配置文件,就是ipr和iml工具,用到Android源码里面的idegen工具,但是你用官方的mmm命令方法会报错,说文件格式不对,本来是可以用mmm命令直接生成的,但是Mac的文件系统跟官方要求的有问题,所以就放弃了,有想试试的同学可以执行下面的命令。cd ~/aosp_win查看安卓源码

使用正则表达式判断URL地址是否合法_判断是否是正常链接正则表达式-程序员宅基地

文章浏览阅读1k次。在编程中,我们常常需要对给定的URL地址进行合法性检测。函数来判断URL地址是否合法。该函数接受一个URL地址作为参数,并返回一个布尔值,表示该URL地址是否合法。总之,在Python中使用正则表达式判断URL地址是否合法非常简单,只需要编写一个正则表达式,然后使用。在函数内部,我们使用正则表达式来匹配URL地址的各个部分,并将它们拼接在一起。函数来判断该URL地址是否符合我们定义的正则表达式规则。匹配URL地址的路径部分。在示例代码中,我们将一个合法的URL地址。使用正则表达式判断URL地址是否合法。_判断是否是正常链接正则表达式

写一个基于知识图谱的古诗词问答系统的背景意义,500字-程序员宅基地

文章浏览阅读260次。古诗词是中国文化的重要组成部分,具有悠久的历史和独特的艺术价值。但是,由于其语言难度较高、时代背景和文化背景的复杂性等原因,使得普通读者很难深入理解古诗词的内涵和价值。此时,基于知识图谱的古诗词问答系统应运而生,其背景意义包括以下几个方面:一、促进文化传承古诗词是中华文化的瑰宝,它们承载了丰富的历史文化信息。而传统的古诗词学习方式主要依靠课堂教学和自学,但这种学习方式往往难以满足大众的需求。基..._古诗问答系统

MySQL自动备份脚本_mysqldump 脚本-程序员宅基地

文章浏览阅读660次,点赞10次,收藏10次。mysqldump命令将数据库中的数据备份成一个文本文件,表的结构和数据将存储在生成的文本文件中。将备份出来的数据还原到某个数据库中。备份一个数据库下的多个表。MySQL自动备份脚本。也可以登入数据之后进行。_mysqldump 脚本

程序员刚写完代码,就被开除了_程序员需求写不出来被开除-程序员宅基地

文章浏览阅读1.1k次。学小编逛贴吧发现一个热帖,就凑了凑热闹~~~看到这样一个帖。一程序员说自己刚写完代码,就别公司老板给开除了。为什么会这样的呢?原来是这位程序员写了一段这样的代码:public static Date getNextDay() {try {Thread.sleep(246060*1000);} catch (InterruptrdException e) {e.printStackTr..._程序员需求写不出来被开除

android 9.0 SystemUI导航栏添加虚拟按键功能(三)_android 导航栏 增加按钮-程序员宅基地

文章浏览阅读970次。在9.0的系统产品开发中,对于在SystemUI的原生系统中默认只有三键导航,想添加其他虚拟按键就需要先在构建导航栏的相关布局中分析结构,然后添加相关的图标xml就可以了,然后添加对应的点击事件,就可以了,接下来先分析第三步关于导航栏的相关布局情况然后实现虚拟按键的点击事件功能_android 导航栏 增加按钮

随便推点

ssm小学生课外知识学习网站+vue-程序员宅基地

文章浏览阅读26次。用户可以在首页访问小学生课外知识学习网站方面信息,首页上面有导航栏,导航栏上面有课外知识,试卷列表,学习资讯,个人中心,后台管理等,点击导航栏课外知识可以看到很多信息,点击某个信息可以查看对应详情信息,用户登录后可以对小学生课外知识学习网站文章信息进行评论操作。管理员可以对课外知识进行添加,查询,修改,删除操作。下图就是课外知识管理页面。管理员可以对知识分类信息进行删除,查询和修改操作。前端技术:JavaScript、VUE.js(2.X)、css3。数据库管理工具:Navicat或sqlyog。

goland 常用快捷键_goland进入ctrl+b函数后,什么快捷键返回上一个函数-程序员宅基地

文章浏览阅读1.7w次,点赞3次,收藏9次。转自:https://www.cnblogs.com/zhishuai/p/7942273.htmljetbrains goland 跳到上一个光标处查了下是 :Ctrl + Alt + 左右 mac下面是:Command+ Alt + 左右键但是我用下来是切上面打开文档页摸索了下是:Ctrl +Win+ Alt + 左右 我的键的映射是Default 。另外jb确实也..._goland进入ctrl+b函数后,什么快捷键返回上一个函数

Python3-word文档操作(六):word文档中表格的操作-单元格文字居中,字体颜色等的设置_doc.tables[0].cell(a, b).vertical_alignment = wd_a-程序员宅基地

文章浏览阅读4.6k次,点赞3次,收藏14次。用python3操作word文档,实现:word文档中表格的操作-单元格文字居中,字体颜色等的设置。python设置文档字体,python设置文档字体颜色,python设置单元格文字居中。_doc.tables[0].cell(a, b).vertical_alignment = wd_align_vertical.center # 垂

Ubuntu系统使用技巧 Vim基本技巧介绍_ubuntu系统vim操作-程序员宅基地

文章浏览阅读231次。Ubuntu系统使用技巧: Ctrl+alt+t: 打开终端​ Ctrl+L:清理屏幕​ Tab: 自动补全​ up/down: 调出命令执行记录​ Ctrl+Alt+方向键:切换工作区​ Alt+Tab: 切换任务重定向、管道、通配符:重定向:就是把命令的执行结果写入到文件中​ cmd > filename 把命令的执行结果以清空的方式写入到文件中(先清空再写入)​ cmd >> filename 把命令的执行结果以追加的方式写入到文件中管道:_ubuntu系统vim操作

Nacos 使用指南-程序员宅基地

文章浏览阅读420次,点赞3次,收藏8次。123。

vue基础指令_在vue中,可以通过____语法将数据输出到页面中。-程序员宅基地

文章浏览阅读1k次。指令概述:指令:英文单词,描述了一种简单的功能操作,如获取焦点;简单的DOM操作在Vue中统一的被封装成指令进行操作;什么是指令:包含了简单的DOM操作功能的组件!Vue中提供了自己的内建指令(掌握)、根据实际情况自定义指令(了解)Vue中的指令都是: 固定语法格式一、v-text指令指令名称:文本渲染指令指令描述:输出指令对应表达式的数据,即使数据中包含了标签,不会进行编译解释直接原样输出二、v-html指令名称:超文本/富文本渲染指令指令描述:输出指令对应表达式的数据,数据中一旦包含,会进行渲染解_在vue中,可以通过____语法将数据输出到页面中。