java---异常处理(1)
来源:互联网 发布:cg用什么软件 编辑:程序博客网 时间:2024/06/05 02:22
Java –异常处理
基本概念:
当出现程序无法控制的外部环境问题(用户提供的文件不存在,文件内容损坏,网络不可用。。)时,java就会用异常对象来描述,就是将异常用对象来描述。
两种方法处理异常
1, 在发生异常的地方直接处理
2, 将异常抛给调用者,让调用者处理
这样的代码就会比较健壮,结实。
异常分类
1, 检查行异常:java.lang.Exception
程序正确,但因为外在的环境条件不满足引发。例如:程序试图打开一个并不存在的文件或者并不存在的远程Socket端口。Java编译器强制要求处理这类异常,如果不捕获这类异常,程序将不能被编译。
2, 运行期异常:java.lang.RuntimeException
这就意味着程序存在Bug,如:数组越界,0被除,传入参数不满足规范。。。。。,这类异常需要更改程序来避免,java编译器强制要求处理这类异常。
3, 错误:java.lang.Error
一般很少见,也很难通过程序解决,它可能源于程序的bug,但是一般更可能元环境问题,入内存耗尽,错误在程序中无需处理,而由运行环境处理。
代码
package com.panhui;
import java.io.*;
import java.net.Socket;
publicclassDemo10_9_1 {
publicstatic void main(String[]args) {
// TODO Auto-generated method stub
//检查异常1.打开文件
FileReaderfr=newFileReader("d:\\aa.text");
//检查异常2,链接端口
//链接一个端口号4567,ip地址:192.168.12.12
//会报错,因为编译器认为这个ip地址端口号可能错误。
Sockets=newSocket("192.168.12.12",80);
//运行错误,编译没错。
inta = 4 / 0;
System.out.println(a);
}
}
异常处理:
1, try…..catch
2, //最大捕获
3,try{
4, //可以将所有需要异常对象写到try中。
5, FileReader fr =new FileReader("d:\\aa.text");
6, } catch (Exceptione){
7, //输出异常的信息,利于排除Bug
8, e.printStackTrace();
9, }
10, //最小捕获,但是如果异常过多,那么就需要写很多的catch,一般执行完一个catch,程序就会停留在那里。
11, try{
12, FileReader fr =newFileReader("d:\\aa.text");
13, } catch (FileNotFoundExceptione){
14, //输出异常的信息,利于排除Bug
15, e.printStackTrace();
16, }
17,
一旦出现异常,即try执行完后,跳到catch
截图:
2,finally
18, try{
19, //可以将所有需要异常对象写到try中。
20, FileReader fr =new FileReader("d:\\aa.text");
21, } catch (Exceptione){
22, //输出异常的信息,利于排除Bug
23, e.printStackTrace();
24, }finally{
25, //这个语句块,不管有没有异常,多会被执行
26, //一般说,吧需要关闭的资源。【文件,链接,开辟的内存 什么的关掉】
If(fr != null)
{
Try{
Fr.close();
} ctach(Exceptione){
e.printStackTrace();
}
}
27, }
- java---异常处理(1)
- Java处理异常(1)
- Java异常处理(1)
- JAVA异常处理(1)
- Java异常处理(1)
- (Java)异常处理
- Java异常处理总结(1)
- Java 异常处理问题实例(1)
- java语言---异常处理要点(1)
- Java中的异常处理机制(1)
- [Java] java异常处理(1)
- Java 处理异常(常见异常表)
- java异常(异常处理的陋习)
- java异常处理相关 (1)
- 1、java初识 - 异常处理
- java异常处理机制1
- Java异常处理:Part 1
- java异常处理(初级)
- CSS知识归纳—2
- 第七周项目4-队列数组
- 流程控制
- 例题9-10 UVA 1626 Brackets sequence (dp递推 || 记忆化搜索)
- 【Dongle】【数据结构】while循环与for循环
- java---异常处理(1)
- WORDBOOK - ForeverStrong
- WebSocket -- Mongoose
- JSP与数据库
- 面向对象_抽象类练习员工案例
- 复习下json,ajax,地址栏utf-8编码和解码
- 利用Map实现统计一组数字(字母)中每个数字(字母)出现的次数
- 自定义属性详细介绍
- C++学习第一弹: const 指针 引用答疑