gpt4 book ai didi

java - 自定义异常(RuntimeException)

转载 作者:行者123 更新时间:2023-12-01 13:14:10 24 4
gpt4 key购买 nike

我想为自己破例。但是当我抛出异常时,程序就关闭了。那么我怎样才能运行我的方法3次然后关闭程序呢? (我的程序在intArray之后关闭,但我想遍历dobleArray和charArray)

这是我的异常(exception):

public class InvalidSubScriptException extends RuntimeException{

public InvalidSubScriptException(){
super("Invalid subscript");
}
}

这是我的代码:

import javax.naming.spi.DirStateFactory;


public class GenericTest {

public static void main(String[] args) {
Integer[] intArray = {1, 2, 3, 4, 5};
Double[] doubleArray = {1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7};
Character[] charArray = {'H', 'E', 'L', 'L', 'O'};


System.out.println("Array integerArray contains:");
printArray(intArray);
System.out.println("Array integerArray from possition 1 to 3 contains:");
printArray(intArray, 1, 3);
System.out.println("Array integerArray from possition -1 to 30 contains:");
printArray(intArray, -1, 30);

System.out.println("Array doubleArray contains:");
printArray(doubleArray);
System.out.println("Array doubleArray from possition 1 to 3 contains:");
printArray(doubleArray, 1, 3);
System.out.println("Array doubleArray from possition -1 to 30 contains:");
printArray(intArray, -1, 30);

System.out.println("Array charArray contains:");
printArray(charArray);
System.out.println("Array charArray from possition 1 to 3 contains:");
printArray(charArray, 1, 3);
System.out.println("Array charArray from possition -1 to 30 contains:");
printArray(intArray, -1, 30);
}

public static <T> void printArray(T[] inputArray) {
int counter = 0;
for (T element : inputArray) {
System.out.printf("%s ", element);
counter++;
}
System.out.println();
System.out.println(counter + " element(s) were output");
counter = 0;
}

public static <T> void printArray(T[] inputArray, int lowSubscript, int hightSubscript) throws InvalidSubScriptException {
int counter = 0;
if (lowSubscript >= 0 && hightSubscript < inputArray.length) {
for (int i = lowSubscript; i <= hightSubscript; i++) {
System.out.printf("%s ", inputArray[i]);
counter++;
}
System.out.println();
System.out.println(counter + " element(s) were output");
counter = 0;
} else {
throw new InvalidSubScriptException();
}

}
}

最佳答案

您正在寻找的是如何捕获异常。在 Java 中,您可以使用 try-catch 子句来完成此操作。

由于 printArray() 是引发异常的函数,因此您可以使用 try-catch 子句包围对该方法的调用:

try {
printArray(...);
// ...
} catch (InvalidSubScriptException e) {
// what you want to do to handle the exception
}

关于java - 自定义异常(RuntimeException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22594777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com