try-catch-finally异常处理(一)

java异常处理的方式有两种

1.捕捉异常

2.转移异常

这里先说捕捉异常(对1个系统而言,异常处理是非常关键的,处理得好能够避免和减少系统bug,同时也能够非常好的定位问题来源)

捕捉异常都是通过try-catch-finally结构处理,1般有两种格式

以下所示:

//结构2
try {
//可能会产生异常的语句
} catch (Exception e) {
//捕捉到异常后的处理语句
}

//结构2
try {
//可能会产生异常的语句
} catch (Exception e) {
//捕捉到异常后的处理语句
}
finally {

}

注意:catch和finally不1定同时存在。但是try必须与二者之1共同存在,也就是说结构可以是try-catch和try-finally

写1个简单的异常捕捉例子

public class ExceptionTest {

public static void main(String[] args) {
try {
//被除数不能为0,程序抛出异常
int i = 0, j = 1;
int k = j / i;
} catch (Exception e) {
System.out.println("已捕捉到异常");
e.printStackTrace();
}
}
}

如上i分母不能为0,所以try程序中的语句就会抛出异常,然后catch捕捉到异常并履行catch中的语句

运行结果以下:

已捕捉到异常
java.lang.ArithmeticException: / by zero
at ExceptionTest.main(ExceptionTest.java:7)

那到底甚么时候catch会履行甚么时候不会履行呢?和finally甚么时候会履行?

其实catch中的语句如果在捕捉到异常的情况下都会履行,当try语句块中抛出异常,该异常实力对象就会顺次匹配在各个catch语句块中的类型Exception1、Exception2、Exception3…..。1旦匹配上就会进入相应的catch语句块并履行。此时则为异常被catch语句块捕捉到

finally语句块1般总是会被履行,不管是不是产生了异常程序都会履行。如果履行到try或是catch语句块中的return语句,则先运行finally语句块

以下:

public class ExceptionTest {

public static void main(String[] args) {
try {
// 抛出(throw)异常
System.out.println("履行try语句块,抛出异常");
throw new Error();
} catch (Exception e) {
System.out.println("履行catch语句块,已捕捉到Exception异常");
e.printStackTrace();
} catch (Error e) {
System.out.println("履行catch语句块,已捕捉到Error毛病");
e.printStackTrace();
} finally {
System.out.println("履行finally语句块");
}
}
}

运行结果:

履行try语句块,抛出异常
java.lang.Error
at ExceptionTest.main(ExceptionTest.java:8)
履行catch语句块,已捕捉到Error毛病
履行finally语句块

固然当try中不做任何操作,finally也会履行。

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » try-catch-finally异常处理(一)

36 评论

  1. buy nootropil 800 mg online viagra order online sildenafil 100mg pills for sale

  2. online blackjack for real money usa casino slots online casino bonus

  3. clobetasol online buy temovate online buy amiodarone online cheap

  4. generic famotidine pepcid 40mg brand purchase mirtazapine online cheap

  5. Thank you for great information. Hello Administ . Metropol Halı Karaca Halı Öztekin ve Selçuklu Halı Cami Halısı ve Cami Halıları Türkiye’nin En Büyük Cami Halısı Fabrikasıyız…

  6. ondansetron 8mg generic trimethoprim ca bactrim 960mg oral

  7. order provigil 200mg generic lopressor for sale order lopressor 100mg without prescription

  8. azathioprine 25mg us micardis cheap naproxen 500mg over the counter

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡