Java 异常处理的捕获形式
来源:互联网 发布:俄罗斯人艺术造诣知乎 编辑:程序博客网 时间:2024/05/19 14:51
package day11;
/*异常处理的捕捉形式:
* 这是可以对异常进行针对性处理的方式。
*
* 具体格式是:
* try{
* //需要被检测异常的代码
* }
* catch(异常类 变量) //该变量用于接收发生的异常对象
* {
* //处理异常的代码
* }
* finally{
* //一定会被执行的代码
* }
*
* 异常处理的原则:
* 1、函数内容如果抛出需要检测的异常,那么函数上必须要声明。否则必须在函数内用trycatch捕捉,否则编译失败。
* 2、如果调用到了声明异常的函数,要么trycatch要么throws,否则编译失败。
* 3、什么时候catch,什么时候throws呢?功能内容可以解决,用catch。解决不了,用throws告诉调用者,由调用者解决。
* 4、一个功能如果抛出了多个异常,那么调用时,必须有对应多个catch进行针对性的处理。
* 内部又几个需要检测的异常,就抛几个异常,抛出几个,就catch几个。
*
*
*/
class FuShuIndexException extends Exception{
FuShuIndexException(){
}
}
class Demo{
public int method(int[] arr,int index) throws FuShuIndexException{
if(arr==null)
throw new NullPointerException("数组的引用不能为空");
if(index >= arr.length){
throw new ArrayIndexOutOfBoundsException("数组角标越界=" + index);
}
if(index < 0){
throw new FuShuIndexException();
}
return arr[index];
}
}
public class ExceptionDemo4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] arr = new int[3];
Demo d = new Demo();
try{
int num = d.method(arr, -1);
System.out.println(num);
}catch(FuShuIndexException e){
System.out.println("message:" + e.getMessage());
System.out.println("String:" + e.toString());
System.out.println("负数角标");
e.printStackTrace();//jvm默认的异常处理机制就是调用异常对象的这个方法。
}
}
}
/*异常处理的捕捉形式:
* 这是可以对异常进行针对性处理的方式。
*
* 具体格式是:
* try{
* //需要被检测异常的代码
* }
* catch(异常类 变量) //该变量用于接收发生的异常对象
* {
* //处理异常的代码
* }
* finally{
* //一定会被执行的代码
* }
*
* 异常处理的原则:
* 1、函数内容如果抛出需要检测的异常,那么函数上必须要声明。否则必须在函数内用trycatch捕捉,否则编译失败。
* 2、如果调用到了声明异常的函数,要么trycatch要么throws,否则编译失败。
* 3、什么时候catch,什么时候throws呢?功能内容可以解决,用catch。解决不了,用throws告诉调用者,由调用者解决。
* 4、一个功能如果抛出了多个异常,那么调用时,必须有对应多个catch进行针对性的处理。
* 内部又几个需要检测的异常,就抛几个异常,抛出几个,就catch几个。
*
*
*/
class FuShuIndexException extends Exception{
FuShuIndexException(){
}
}
class Demo{
public int method(int[] arr,int index) throws FuShuIndexException{
if(arr==null)
throw new NullPointerException("数组的引用不能为空");
if(index >= arr.length){
throw new ArrayIndexOutOfBoundsException("数组角标越界=" + index);
}
if(index < 0){
throw new FuShuIndexException();
}
return arr[index];
}
}
public class ExceptionDemo4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] arr = new int[3];
Demo d = new Demo();
try{
int num = d.method(arr, -1);
System.out.println(num);
}catch(FuShuIndexException e){
System.out.println("message:" + e.getMessage());
System.out.println("String:" + e.toString());
System.out.println("负数角标");
e.printStackTrace();//jvm默认的异常处理机制就是调用异常对象的这个方法。
}
}
}
0 0
- Java 异常处理的捕获形式
- java之异常的捕获及处理
- 3、Java 异常的捕获及处理
- java-未捕获异常的处理
- java异常的捕获及处理
- java处理未捕获异常
- JAVA处理未捕获异常
- 异常的捕获和处理
- 异常的捕获和处理
- 异常的捕获和处理
- vbscript 捕获异常的处理
- 异常的捕获和处理
- 异常的捕获及处理
- 异常的发生,捕获,处理
- 异常的捕获及处理
- 对异常捕获的处理
- 异常的捕获及处理
- 崩溃异常的捕获处理
- solr安装-tomcat+solrCloud构建稳健solr集群
- SQLite的JDBC的编写
- 【Android】如何将Gradle工程转换为eclipse工程
- 安卓自定义控件-实现IOS版UC浏览器三点加载动画效果
- 双管道cmd反弹程序
- Java 异常处理的捕获形式
- 学习计划说明
- Codeforces Round #340-B. Chocolate-水+坑
- 关于python中如何导入pygame模块(超详细)
- Codeforces Round #340 (Div. 2) 总结
- Android 状态栏(SystemBar)颜色改变
- OS存储器管理(一)
- 主持2
- 2016年2月份学习计划