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

posted @   siemens800  阅读(28)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示