GUI添加组件、异常

GUI添加组件的步骤:
1,设置布局管理器
2,产生组件对象
3,将组件加入容器

在GUI中采用的是先进先出,后进后出的原则。

异常:异常是描述出错信息的对象。

异常的API结构:Throwable是父类,有两个子类Error和Exception。其中Error是错误,是崩溃级别的错误,
可以捕获,但无法处理。Exception是普通错误,可以捕获,可以处理
错误和异常的特点:
错误是可以捕获,但无法处理
异常是可以捕获,也可以处理。
Error是所有错误 类的父类
Exeption是所有异常类的父类

try{
被保护的代码


}catch(NumberFormatException e){//创建异常变量e,接收try块抛出的异常对象
捕获块
e.printStacktrace();//创建异常变量
}

public static void main(String[] args) {
	try {
		String m= JOptionPane.showInputDialog(null,"请输入一个数");
		int n=Integer.parseInt(m);
		JOptionPane.showMessageDialog(null, n*n);
	}catch(RuntimeException e) {//创建异常变量e,接收try块抛出的异常对象
		e.printStackTrace();//创建异常变量
	}
	System.out.println("=================");
}

如果一个try块有多个catchkuai联用,只会执行第一个和异常匹配的catch块,其余的catch块全部忽略。

异常执行的顺序:
先执行try块的内容,顺序执行,如果在try块中有异常发生,转到catch块执行,同时中止try块中的其他代码。
当try…catch语句结束后,继续执行后面的代码。

finally语块,无论是否有异常发生,都会执行。一般用于流的关闭,数据库关闭等资源清理的操作。
finally语句块必须和try联用。如果在try块或catch块中有return语句,那么跳出方法之前,会执行finally语句。

finally在虚拟机关闭时(System.exit(0))不会执行

异常分为两种类型:如何区分:
编译期异常(检查异常)是开发者必须处理,否则无法通过编译

运行期异常(非检查异常)是开发者可以处理,也可以不处理,即使不处理也可以通过编译

	所有的运行异常都是RuntimeException的子类


	ArithmeticException  算术异常,在执行了非法的算法运算时抛出,比如,除零操作

	ArraayIndexOutOfBoundsException  数组下标越界异常,在访问数组元素时,使用非法下标进行访问时抛出。
	(下标为负数,或下标大于等于数组的长度)

	Class ClassCastException  类型转换异常,将一个类型化为另一个类型时,新的类型不匹配,指定对象时抛出

	NullpointerException  空指针异常,当对null值进行属性或者方法调用时抛出,

	NumberFormatException  数字格式化异常,将字符串转化数字类型时,该字符串不是合法的数字格式时抛出

	java.lang.NoSuchFieldException: Id  找不到属性异常。当访问指定类的属性时,该属性不存在时抛出

	CloneNotSupportedException  当进行对象克隆时,该对象没有实现Cloneable接口时抛出

异常的执行顺序是:先从try块开始执行,顺序执行,如果没有异常,顺序执行,如果有异常,转去catch块块中执行,
同时中止try中其他代码。

throw与throws的区别
throw是语句,表示显示抛出异常对象。throw new Exception();

throws是方法修饰符,表示该方法可能会抛出某种异常。那么,在调用该方法时,需要处理该方法抛出的异常。

重写的限制:子类方法的访问修饰符,要大于或等于父类方法。
子类方法抛出的异常,要小于或等于父类方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值