• java exception


    http://topic.csdn.net/u/20090108/22/dc7e85d9-8196-47be-a66c-83f7a6f86865.html?57688550

    用户输入10个数(整型),否则抛出自定义异常,并且将此数置0,

    如果总数>1000,则抛出自定义异常,并且将总和写入磁盘文件(在自定义异常中做)。

    sadfsf

    ExceptionTest .java

    package com.javaeye.lindows.exception;
     
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class ExceptionTest {
        private static final int MAX = 1000;
    
        public static void main(String[] args) throws OutOf1000Excetion {
            int[] inputData = getInputData();
            
            int sum = 0;
            for(int i = 0; i < inputData.length; i++)
                sum += inputData[i];
            if(sum > 1000)
                throw new OutOf1000Excetion(sum, "Out of 1000");
            System.out.println("Sum=" + sum);
        }
    
        private static int[] getInputData() {
            int size = 10;
            int ret[] = new int[size];
            DataInputStream dis = new DataInputStream(System.in);
            String temp = null;
            for (int i = 0; i < 10; i++) {
                System.out.println("please enter integer[" + i + 1 + "]:");
                try {
                    temp = dis.readLine();
                    if (!temp.matches("[+-]?\\d+")) {
                        temp = "0";
                        throw new NotIntegerException("Not Integer.");
                    }
                } catch (Exception e) {
                }
                ret[i] = Integer.parseInt(temp);
            }
            return ret;
        }
    }
    
    class NotIntegerException extends Exception {
        public NotIntegerException() {
            super();
        }
    
        public NotIntegerException(String message) {
            super(message);
        }
    }
    
    class OutOf1000Excetion extends Exception {
    
        public OutOf1000Excetion(int sum, String message) {
            super(message);
            writeToDisk(sum);
        }
        
        private void writeToDisk(int sum)
        {
            DataOutputStream dos = null;
            try {
                dos = new DataOutputStream(new FileOutputStream("D:\\input.txt"));
                dos.write(String.valueOf(sum).getBytes());
                dos.flush();
                dos.close();
            } catch (Exception e) {
                e.printStackTrace();
                if(dos!=null)
                    try {
                        dos.close();
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
                return;
            }
        }
    }
    
    

    asdfaf

  • 相关阅读:
    SQL语言
    数组的指针
    Java泛型
    python面向对象(下)
    Java枚举类enum
    理解Java的GC日志
    python生成器
    Java并发编程之ThreadLocal类
    python面向对象(上)
    Java并发编程之闭锁简介
  • 原文地址:https://www.cnblogs.com/lindows/p/14390503.html
Copyright © 2020-2023  润新知