try块里有异常抛出时,程序会进入第一个异常类型匹配的catch块执行,其他的catch块不执行。
注意这里说的“第一个匹配的异常类型”。我们知道,所有的异常类型都是extends Exception,所以catch (Exception e)可以catch所有的异常;也就是说,这里说的“异常类型匹配”包括向上转型。
同时,对基类异常的catch块会屏蔽其后的对其导出类异常的catch块,而且这个屏蔽只与catch块代码的位置有关系,如:
class MyException extends Exception
{
}
public class ExceptionTest
{
public static void main(String[] args)
{
try
{
throw new MyException();
}
catch (Exception e)
{
System.out.println("Catch an Exception: " + e.getClass().toString());
}
catch (MyException me)
{
System.out.println("Catch a MyException: " + me.getClass().toString());
}
}
}
//output: Compiling Error
/* 已捕捉到异常MyException*/
//when comment or delete the 'catch (MyException me)' block
//output:
/* Catch an Exception: class MyException*/
这里,catch (Exception e)就屏蔽了catch (MyException me)。但是,如果我们把catch (MyException me)置于catch (Exception e)之上,就不会有屏蔽。如:
class MyException extends Exception
{
}
public class ExceptionTest
{
public static void main(String[] args)
{
try
{
throw new MyException();
}
catch (MyException e)
{
System.out.println("Catch a MyException: " + e.getClass().toString());
}
catch (Exception e)
{
System.out.println("Catch an Exception: " + e.getClass().toString());
}
}
}
//output:
/* Catch a MyException: class MyException*/
分享到:
相关推荐
0X0E中学算术前置知识0X0D数学库函数正文有了三角函数、反三角函数、对数函数、求幂运算,中学阶段涉及的所有具体的数值计算基本就都可以求解。求此表达式的值:第
0X2B循环for前置知识0X29再谈循环正文Lua除了while和repeat语句还提供了一种for循环语句.while和repeat语句循环终止条件可以是任
目录图例Stage1 入门Stage2 基础Stage3 字符串处理Stage4 理解函数Stage5 表结构Stage6 流程控制Stage7 模块Stage
1. 度量脚本执行时间 2. 记录时间 3. 计算时间间隔
域的定义如果交换环还额外满足以下条件,则称为域:乘法单位元和加法单位元不相等(1不等于0)。由于存在乘法逆元,就意味着可以进行“除法”,所以有的书上也把域称作
安全运营相关文章本篇整理一些安全运营相关的高质量文章[2] 体系化的WAF安全运营实践, 安全研究与实践,
NULL 博文链接:https://aoyi.iteye.com/blog/659179
NULL 博文链接:https://aoyi.iteye.com/blog/631929
NULL 博文链接:https://aoyi.iteye.com/blog/723571
让您彻彻底底搞清楚回车符(0x0d)与换行符(0x0a)的区别!
STM8S207中断系统##pragma 0x原因.pdf,介绍中断的
#4 0x00002b9405e5b9d0 in tzset () from /lib64/libc.so.6 #5 0x00002b9405e5fe44 in strftime_l () from /lib64/libc.so.6 #6 0x00002b9405e93701 in __vsyslog_chk () from /lib64/libc.so.6 #7 0x00002b9405e3c...
#define enter 0x1c0d #define A 0x1e61 #define S 0x1f73 #define D 0x2064 #define W 0x1177 #define space 0x3920 #define Y 0x1579 #define n 0x316e int gamespeed=5000; int i,j,key; struct Sor { int x; ...
windows 7 无法连接到打印机 (错误 0x0000000d)的解决方法
DirectX4.0,一个修复工具,当程序运行出错0x000007d时候常用
部分指令下载后有全部:#define PU 0x01 #define STOP 0x02 #define RESET 0x03 #define CLI_INT 0x04 #define RD_STATUS 0x05 #define RD_PLAY_PTR 0x06 #define PD 0x07 #define RD_REC_PTR 0x08 #define RD_DEVID...
#define ENTER 0x1c0d #define DEL 0x5300 #define BACKSPACE 0x0e08 /* 定义F1 到F12 */ #define F1 0x3b00 #define F2 0x3c00 #define F3 0x3d00 #define F4 0x3e00 /* 定义控制键 */ #define...
#define BitFramingReg 0x0D #define CollReg 0x0E #define RFU0F 0x0F // PAGE 1 #define RFU10 0x10 #define ModeReg 0x11 #define TxModeReg 0x12 #define RxModeReg 0x13 #define TxControlReg 0x14 #define ...
MRS R1,CPSR BIC R1,R1,#0x1F ORR R1,R1,#0x1B MSR CPSR_cxsf,R1
LDI 11 01011 LDI rdst,#value LDI r6,#0x2d 5980002D r6 <- 0x2d LDX 12 01100 LDX rdst,rs1 LDX r6,r8 61900000 r6 [r8] LDX rdst,rs1,#value LDX r6,r8,#0x2e 6190002E r6 [r8+0x2e] ST 13 01101 ST LABEL,rst ...