父类
- package com.oracle.demo01;
- import java.sql.SQLException;
- public class Fu {
- public void f() throws SQLException{
- }
- public void ff(){
- }
- }
子类继承父类异常 只能抛出比父类异常小的异常
- package com.oracle.demo01;
- import java.sql.SQLException;
- public class Zi extends Fu {
- // 重写父类方法时, 父类的异常可以不抛, 或者抛比父类异常小的异常
- public void f() throws SQLException{// 这些是 java 类中, 将问题封装成对象
- // 可以自定义异常, 可以通过集成. 想让 A 拥有 B 的特点, 那么 A 继承 B
- }
- // 父类无异常,
- public void ff(){// 不能 throws 抛异常, 只能内部处理异常
- try {
- f();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
自定义异常
- package com.oracle.demo01;
- public class ZiDingYi {
- public static void main(String[] args) {
- int[] arr={1,-2,3,4,5};
- // 自定义异常, 成绩不能为负
- System.out.println(avg(arr));
- }
- // 求学生成绩的平均值
- public static double avg(int[] arr){
- int sum=0;
- for(int i=0;i<arr.length;i++){
- // 自定义负数异常, 需要判断是编译期异常还是运行期异常 (为用户提示)
- if(arr[i]<0){// 集合为 get(i)
- // 运行期异常只需要抛出
- throw new FuShuException("您的数组中有负数"+i);
- }
- sum+=arr[i];
- }
- double avg=sum/arr.length;
- return avg;
- }
- }
自定义异常
- package com.oracle.demo01;
- // 自定义异常
- public class FuShuException extends RuntimeException {
- // 默认无参构造, 需要同时增加空参和有参构造
- public FuShuException(String mes){
- super(mes);// 用父类的方法, 打印异常信息
- }
- public FuShuException(){
- }
- }
调用异常方法,
- package com.oracle.demo01;
- public class ZiDingYi {
- public static void main(String[] args) {
- int[] arr={1,-2,3,4,5};
- // 自定义异常, 成绩不能为负
- System.out.println(avg(arr));
- }
- // 求学生成绩的平均值
- public static double avg(int[] arr){
- int sum=0;
- for(int i=0;i<arr.length;i++){
- // 自定义负数异常, 需要判断是编译期异常还是运行期异常 (为用户提示)
- if(arr[i]<0){// 集合为 get(i)
- // 运行期异常只需要抛出
- throw new FuShuException("您的数组中有负数"+i);
- }
- sum+=arr[i];
- }
- double avg=sum/arr.length;
- return avg;
- }
- }
来源: http://www.bubuko.com/infodetail-3367803.html