Java异常处理语句的语法规则

9个月前 (11-29) wang JAVA, 技术杂谈 0评论 已收录 101℃ 浏览数:74

(1)try代码块不能脱离catch代码块或finally代码块而单独存在。try代码块后面至少有一个catch代码块或finally代码块。

(2)try代码块后面可以有零个或多个catch代码块,还可以有零个或至多一个finally代码块。

(3)try代码块后面可以只跟finally代码块。

(4)当try代码块后面有多个catch代码块,Java虚拟机会把实际抛出的异常对象依次和各个catch代码块声明的异常类型匹配,如果异常对象为某个异常类型或其子类的实例,就执行这个catch代码块,不会再执行其他的 catch代码块。

(5)异常的捕获顺序是先捕获子类异常再捕获父类异常,如果捕获到了一种类型的异常,后面层级更高的异常就不会执行了。

(6)finally一定会在return之前执行,但是如果finally使用了return或者throw语句,将会使trycatch中的return或者throw失效。

(7)Throwable有两个子类exception(异常)和error(错误)。

 

throw用于抛出异常。
throws关键字可以在方法上声明该方法要抛出的异常,然后在方法内部通过throw抛出异常对象。
try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句。
cacth用于捕获从try中抛出的异常并作出处理。
finally语句块是不管有没有出现异常都要执行的内容。

1. 粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被捕捉处理,命名为 Checked Exception 是因为Java编译器要进行检查,Java虚拟机也要进行检查,以确保这个规则得到遵守.
2. 绿色的异常是运行时异常(runtime exceptions),需要程序员自己分析代码决定是否捕获和处理,比如 空指针,被0除...
3. 而声明为Error的,则属于严重错误,如系统崩溃、虚拟机错误、动态链接失败等,这些错误无法恢复或者不可能捕捉,将导致应用程序中断,Error不需要捕捉。
博主

Just do it. Now or never.

相关推荐

嗨、骚年、快来消灭0回复。