Java中,想实现一种自定义异常,跪求高手解答!!

发布网友 发布时间:2022-04-25 13:08

我来回答

4个回答

热心网友 时间:2024-08-13 06:50

首先:新建一个类,类名就是你要自定义的异常,继承Exception
比如:
public class MemmoryException extends Exception{//内寸异常
public MemmoryException(String message){
super(message);
}
}
接下来在程序里写个线程,线程内容是不停检测内存,用while(true)循环,一旦有存超出80%的Runtime.getRuntime().maxMemory,就new一个自定义异常,throw出来

热心网友 时间:2024-08-13 06:54

想监控内存?

Runtime runtime = Runtime.getRuntime();
// JVM可使用的最大内存
runtime.maxMemory();
// JVM当前命名用的内存
runtime.totalMemory();
// JVM从系统中拿到的还没有使用的内存
runtime.freeMemory();

用这些数值可以大致判断一下,这些都是指JVM的内存。不是系的。

热心网友 时间:2024-08-13 06:53

/**
* 调用的类和main方法
* @author Administrator
*
*/

package com.csuinfo.exception;
import java.util.Scanner;
public class ExceptionDemo
{
//自定义
public static void test5()throws Exception
{
Scanner input =new Scanner(System.in);
int a=input.nextInt();
if(a<0||a>150)
{
//人为产生异常
throw new AgeInvalidateException("年龄不合法");
}
}
public static void main(String[] args)
{
try {
test5();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

package com.csuinfo.exception;

/**
* 年龄不合法的异常
*
* @author Administrator
*
*/
public class AgeInvalidateException extends Exception {

// 定义有参构造函数,exceptionMsg:异常的消息
public AgeInvalidateException(String exceptionMsg) {
super("逻辑错误: " + exceptionMsg);
}
}

热心网友 时间:2024-08-13 06:48

我试了一下,你可以在生成jasper以前做一个监控进程,当jvm的内存超出默认值以后在监控进程里做一个延时的转向,然后执行System.exit(0),这样就可以实现转向且停止生成的目的了。但是好像将子线程里的异常抛出效果不是很好

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com