zoukankan      html  css  js  c++  java
  • java 异常练习

    建立exception包,编写TestException.java程序,主方法中有以下代码,确定其中可能出现的异常,进行捕获处理。

    package com.yichang;
    
    public class TestException {
        public static void main(String[] args) {
            for (int i = 0; i < 4; i++) {
                int k;
                switch (i) {
                case 0:
                    try{
                    int zero = 0;
                    k = 911 / zero;
                    break;}
                    catch(Exception ex)
                    {
                        ex.printStackTrace();
                        System.out.println("运行出现算数异常"+ex.getMessage());
                    }
                case 1:
                    try{
                    int b[] = null;
                    k = b[0];}
                    catch(Exception ex)
                    {
                        ex.printStackTrace();
                        System.out.println("运行出现空指针异常"+ex.getMessage());
                    }
                    break;
                case 2:
                    try{
                    int c[] = new int[2];
    
                    k = c[9];}
                    catch(Exception ex)
                    {
                        ex.printStackTrace();
                        System.out.println("运行出现异常"+ex.getMessage());
                    }
                    break;
                case 3:
                    try{
                    char ch = "abc".charAt(99);}
                    catch(Exception ex)
                    {
                        ex.printStackTrace();
                        System.out.println("运行出现异常"+ex.getMessage());
                    }
    
                    break;
                }
            }
    
        }
    
    }

    建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),表示存入银行100元,当用方法withdrawal(150),withdrawal(-15)时会抛出自定义异常。

    package exception;
    
    public class InsufficientFundsException extends Exception {
    
        public InsufficientFundsException(String string) {
            
        }
    
        public InsufficientFundsException() {
            System.out.println("余额不足");
        }
    
    }
    package exception;
    
    public class NagativeFundsException extends Exception {
    
        public NagativeFundsException(String string) {
            
        }
    
        public NagativeFundsException() {
            System.out.println("取款不能为负数");
        }
    
    }
    package exception;
    
    public class Bank {
        private double balance;
    
        public Bank(double balance) {
            super();
            this.balance = balance;
        }
    
        public double getBalance() {
            return balance;
        }
    
        public void setBalance(double balance) {
            this.balance = balance;
        }
        double withDrawal(double dAmount) throws Exception
        {
            if(dAmount>balance)
            {
                throw new InsufficientFundsException();
            }
            if(dAmount<0)
            {
                throw new NagativeFundsException();
            }
            return this.balance;
        }
        public static void main(String[] args) {
            Bank b=new Bank(100);
            try {
                b.withDrawal(150);
            } catch (Exception e) {
                
                e.printStackTrace();
            }
            try {
                b.withDrawal(-15);
            } catch (Exception e) {
                
                e.printStackTrace();
            }
        }
    
    }
  • 相关阅读:
    毕业设计同学们的福利(将word表格导入PowerDesigner中实现快速创建PDM)
    (转载)彻底的理解:WebService到底是什么?
    Aptana常用快捷键总结
    解决nuxt中路由变化后vanlist触底不加载的问题
    vuepropertydecorator的装饰器及其功能(可能不全)
    前端基础复习篇DOM
    Docker如何制作镜像Dockerfile的使用
    接口测试及常用接口测试工具
    SVN快速入门3——整合eclipse(1)
    SVN快速入门1——SVN的安装及常用命令
  • 原文地址:https://www.cnblogs.com/wallan/p/5537249.html
Copyright © 2011-2022 走看看