异常处理
2016-05-19 19:27
148 查看
本章内容 :(一个图五个关键字:throw/throws)
1.java异常的概念。
2.java异常的分类。
3.异常的捕获和处理。
1.java异常是java提供的处理程序中处理错误 的一种机制 。
2.所谓的错误是指在程序运行过程中发生的一些异常事件。(如数组下标越界,读取的文件不存在)。
3.良好设计的程序应该在发生异常时人急提供处理这些错误 的方法,使程序不会因为异常发生而阻断产生不可预见的结果 。
4.java程序在执行过程如果出现异常事件,会生成一个异常对象,该异常对象封装了异常事件的信息,并将信息提交给java运行时系统,这个过程为throw异常。
5.当java运行时系统接收到这异常对象时,会到处理这一异常的代码并把当前异常对象交给其处理。这一过程叫做捕获(catch).
第一个异常示例:
public class DomeException {
public static void main(String[] args) {
try{
System.out.println(2/0);
}catch(ArithmeticException ae){
System.out.println("系统出错请与管理员联系");
ae.printStackTrace();
}
}
}
注解:这里的ae是:我们自己定义的封装的异常事件的对象。
异常的分类:
Throwable --> error (处理不了的错误)/ Exception(可以处理的处理必须处理的)
Exception----> RuntimeException(可处理可不处理的异常).
异常捕获的处理:
1.try代码段包含可能产生例处的代码 。
2.try代码段后跟有一个或多个catch代码段。
3.每个catch代码段声明其能处理的一种特定的类型的代码段处理一种特定类型的异常。
4.当异常发生时,程序会中止当前的流程,根据获取的异常的类型去执行相应的catch代码段。
5.finally段的代无论是否发生异常都会被执行。
6.java的例外处理机制使得沿着被对调用的顺序往前查找,只查符合当前例外对象的处理程序。
7.捕获异常的顺序是先抓小的再抓大的。
8.重写方法需要抛出和原方法一样的异常或者不抛出异常.
9.自定义异常。(通过继承java.lang.Exception)
示例:
public static void main(String[] args) {
DomeMyException de = new DomeMyException();
de.manage();
}
public void regist(int num) throws MyException{
if(num<0){
throw new MyException("人数不能小与0",2);
}
System.out.println("登记人数:" + num);
}
public void manage(){
try {
regist(-10);
} catch (MyException e) {
e.getMessage();
e.printStackTrace();
}
}
}
class MyException extends Exception{
int id ;
public MyException(String name,int id){
System.out.println(name);
this.id = id;
}
}Class MyException extends Exception(){
}
异常对象的常用方法:
1.getMessage();
2.printStactTrace();
1.java异常的概念。
2.java异常的分类。
3.异常的捕获和处理。
1.java异常是java提供的处理程序中处理错误 的一种机制 。
2.所谓的错误是指在程序运行过程中发生的一些异常事件。(如数组下标越界,读取的文件不存在)。
3.良好设计的程序应该在发生异常时人急提供处理这些错误 的方法,使程序不会因为异常发生而阻断产生不可预见的结果 。
4.java程序在执行过程如果出现异常事件,会生成一个异常对象,该异常对象封装了异常事件的信息,并将信息提交给java运行时系统,这个过程为throw异常。
5.当java运行时系统接收到这异常对象时,会到处理这一异常的代码并把当前异常对象交给其处理。这一过程叫做捕获(catch).
第一个异常示例:
public class DomeException {
public static void main(String[] args) {
try{
System.out.println(2/0);
}catch(ArithmeticException ae){
System.out.println("系统出错请与管理员联系");
ae.printStackTrace();
}
}
}
注解:这里的ae是:我们自己定义的封装的异常事件的对象。
异常的分类:
Throwable --> error (处理不了的错误)/ Exception(可以处理的处理必须处理的)
Exception----> RuntimeException(可处理可不处理的异常).
异常捕获的处理:
1.try代码段包含可能产生例处的代码 。
2.try代码段后跟有一个或多个catch代码段。
3.每个catch代码段声明其能处理的一种特定的类型的代码段处理一种特定类型的异常。
4.当异常发生时,程序会中止当前的流程,根据获取的异常的类型去执行相应的catch代码段。
5.finally段的代无论是否发生异常都会被执行。
6.java的例外处理机制使得沿着被对调用的顺序往前查找,只查符合当前例外对象的处理程序。
7.捕获异常的顺序是先抓小的再抓大的。
8.重写方法需要抛出和原方法一样的异常或者不抛出异常.
9.自定义异常。(通过继承java.lang.Exception)
示例:
public static void main(String[] args) {
DomeMyException de = new DomeMyException();
de.manage();
}
public void regist(int num) throws MyException{
if(num<0){
throw new MyException("人数不能小与0",2);
}
System.out.println("登记人数:" + num);
}
public void manage(){
try {
regist(-10);
} catch (MyException e) {
e.getMessage();
e.printStackTrace();
}
}
}
class MyException extends Exception{
int id ;
public MyException(String name,int id){
System.out.println(name);
this.id = id;
}
}Class MyException extends Exception(){
}
异常对象的常用方法:
1.getMessage();
2.printStactTrace();
相关文章推荐
- MVC 验证和异常处理 自动验证使用Data Annotations Validation Attributes
- java 异常处理
- python11 控制流语句 异常处理
- Struts中的异常处理
- Android 如何处理崩溃的异常
- 懒加载异常及处理
- SpringBoot07 异常枚举、自定义异常、统一的全局异常处理
- JAVA异常处理
- 处有未经处理的异常: 0xC0000374: 堆已损坏
- Java异常处理
- APP级别处理未捕获异常
- Visual C++中的异常处理浅析[轉]
- C++的异常处理
- Spring Boot系列十一 从源码的角度理解Spring MVC异常处理原理
- Android中处理崩溃异常
- 多线程程序处理子线程异常 javaExceptionHandler机制
- ASP.NET 4.0 生成 eurl.axd Http异常错误的处理方法 (汗IIS 怎这么多莫名其妙的问题)
- iOS已发布应用中对异常信息捕获和处理
- JAVA如何进行异常处理
- Spring Cloud实战小贴士:Zuul统一异常处理(二)