Java 自定义异常
来源:互联网 发布:node.js实战 第1季 编辑:程序博客网 时间:2024/06/05 09:42
package day11;
/*
* 对于角标是整数不存在,可以用角标越界表示,对于负数为角标的情况,准备用负数角标异常来表示。
* 负数角标这种异常在java中并没有定义过。
* 那就按照java异常的创建思想,面向对象,将负数角标进行自定义描述,并封装成对象。
* 这种自定义的问题描述成为自定义异常。
*
* 注意:如果让一个类称为异常类,必须要继承异常体系,因为只有称为异常体系的子类才有资格具备可抛性。才可以被两个关键字所操作,throws throw
*/
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 ExceptionDemo3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] arr = new int[3];
Demo d = new Demo();
int num = d.method(arr, 30);
System.out.println(num);
}
}
/*
* 对于角标是整数不存在,可以用角标越界表示,对于负数为角标的情况,准备用负数角标异常来表示。
* 负数角标这种异常在java中并没有定义过。
* 那就按照java异常的创建思想,面向对象,将负数角标进行自定义描述,并封装成对象。
* 这种自定义的问题描述成为自定义异常。
*
* 注意:如果让一个类称为异常类,必须要继承异常体系,因为只有称为异常体系的子类才有资格具备可抛性。才可以被两个关键字所操作,throws throw
*/
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 ExceptionDemo3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] arr = new int[3];
Demo d = new Demo();
int num = d.method(arr, 30);
System.out.println(num);
}
}
0 0
- Java 异常(Exception)&自定义异常
- Java异常处理-----自定义异常
- Java 异常(Exception)&自定义异常
- JAVA-自定义异常/异常覆盖
- java异常体系、自定义异常
- Java异常之自定义异常
- Java异常之自定义异常
- Java 自定义异常 异常抛出
- Java异常处理--自定义异常
- Java异常之自定义异常
- 自定义异常实战,java封装自定义异常
- Java自定义异常
- java中自定义异常
- 自定义Java异常
- 自定义Java异常
- Java自定义异常类
- Java中的自定义异常
- java自定义异常类
- 程序员进阶必经之路
- 【Python】(有图)Win8.1 Python3.4.2安装
- 机器学习基石——笔记(1)
- 归并排序
- IE浏览器在地址栏针对param直接输入中文导致乱码的解决方案
- Java 自定义异常
- Leetcode-259. 3 Sum Smaller
- 使用docker volumes容器
- Windows 下 ORA-12560: TNS: 协议适配器错误的问题
- Leetcode 208. Implement Trie (Prefix Tree)
- Mac笔电盒盖保持声音输出?
- Leetcode 29 - Divide Two Integers
- POJ 1661 Help Jimmy
- Leetcode - 137. Single Number II