- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章异常处理与多线程
第八章 异常处理8.1 异常就是Java程序在运行过程中出错, 异常终止的情况.可能导致异常发生的原因有许多,如数组下标,空指针访问,试图读取不存在的文件,网络连接中断等.
j3_27.java数组下标越界违例(Exception)
class Test{
public static void main(String[] args) {
String friends[]={lisa,bily,kessy};//创建字符串一维数组有3个值
for(int i=0;i5;i++) { //下标有个越界异常发生
System.out.println(friends[i]);
}
System.out.println(\nthis is the end);
}
} Java中异常分两大类: 错误(Error) --- JVM系统内部错误,资源耗尽,内存溢出的严重情况,程序员无能为力,只能让程序终止.
违例(Exception) --- 编程错误或偶然外在因素导致的一般性错误.如对负数开方, 空指针访问,试图读取不存在的文件,网络连接中断.Exception可预先预防.
Java异常类层次关系图
运行时异常(RuntimeException)是因程序员设计或实现方式不当造成的.如果事先检查数组元素下标不超出数组长度,异常就不会抛出.运行时异常(RuntimeException)-由编译器编译时发生的异常IOException有时是环境造成的,如文件未找到或URL无效等.异常处理Java有两种方式:
使用 try…catch….finally语句捕获并处理异常对象,其中finally语句可省略. 通常将可能发生异常的语句放在try语句中.
不需处理它生成的异常,而是向上传递,由调用它的方法来处理,使用throws语句声明它可以抛出的异常,而不捕捉它们.
(1) j3_28.java – 使用 try…catch….finally语句捕获异常并处理异常对象行时异常RuntimeExceptionclass Test {
public static void main(String[] args) {
try { //选定捕获异常范围
String friends[]={lisa,bily,kessy};
for(int i=0;i5;i++) {
System.out.println(friends[i]);
}
}
// catch语句需要一个形参,指明捕获异常类型对象, 异常发生时程序执行catch体内的语句.
catch (Exception e)
{ System.out.println(e);
}
finally { //无论异常是否发生finally体内的语句总是被执行
System.out.println( Its ok!); }
System.out.println( Out of Try!);
}
} ExceptionTest3.java -非运行时异常异常Java编译器从语法上要求对异常ExceptionTest3.java - 不能通过编译,改正为ExceptionTest4.java就可编译。
import java.io.*;
public class ExceptionTest3{
public static void main(String[] args) {
//创建字节输入流对象
FileInputStream in=new FileInputStream(myfile.txt);
int b;
b = in.read(); //读文件
while(b!= -1)
{
System.out.print((char)b);
b = in.read();
}
in.close();
}
}
ExceptionTest4.java -(文件运行时异常使用 try…catch….finally语句捕获并处理异常对象import java.io.*;
public class ExceptionTest4 {
public static void main(String[] args) {
try{ // try{…. }语句块选定捕捉异常的范围,如执行的语句块有异常异常 FileInputStream in=new FileInputStrea
文档评论(0)