java中受查异常和非受查异常
时间: 2024-05-19 11:17:46 浏览: 91
受查异常和非受查异常都属于Java中的异常类型。
受查异常是指在Java代码中需要显式地处理(通过try-catch或throws语句)才能编译通过的异常,例如IOException、ClassNotFoundException等。
非受查异常是指不需要显式处理即可编译通过的异常,例如NullPointerException、ArrayIndexOutOfBoundsException等。
需要注意的是,RuntimeException及其子类也属于非受查异常,但是一般情况下不需要进行显式处理。
相关问题
java内部类和异常类实验
好的,我可以为您提供一些关于Java内部类和异常类的实验。
1. Java内部类实验
内部类是定义在其他类内部的类。Java中有四种内部类:成员内部类、静态内部类、局部内部类和匿名内部类。下面是一个示例:
```java
public class OuterClass {
private int x = 10;
// 成员内部类
public class InnerClass {
public void printX() {
System.out.println("x = " + x);
}
}
// 静态内部类
public static class StaticInnerClass {
private static int y = 20;
public void printY() {
System.out.println("y = " + y);
}
}
public void createInnerClass() {
// 局部内部类
class LocalInnerClass {
private int z = 30;
public void printZ() {
System.out.println("z = " + z);
}
}
LocalInnerClass localInnerClass = new LocalInnerClass();
localInnerClass.printZ();
}
public void createAnonymousInnerClass() {
// 匿名内部类
new Thread(new Runnable() {
public void run() {
System.out.println("Hello, World!");
}
}).start();
}
}
```
2. Java异常类实验
Java中的异常分为两种:可查异常和运行时异常。可查异常需要在代码中进行处理,而运行时异常则不需要。下面是一个示例:
```java
public class ExceptionTest {
public static void main(String[] args) {
int[] nums = {1, 2, 3};
try {
System.out.println(nums[3]); // 抛出ArrayIndexOutOfBoundsException
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组下标越界!");
}
try {
int result = 10 / 0; // 抛出ArithmeticException
} catch (ArithmeticException e) {
System.out.println("除数不能为零!");
}
}
}
```
java 查询excel表格中总行数
在Java中,查询Excel文件的总行数通常需要使用第三方库,如Apache POI或JExcelAPI。这里是一个简单的示例,展示如何使用Apache POI来获取工作簿的总行数:
```java
import org.apache.poi.ss.usermodel.*;
public int getTotalRows(String excelFilePath) {
try (SSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(excelFilePath))) {
Sheet sheet = workbook.getSheetAt(0); // 假设默认第一个sheet
return sheet.getLastRowNum() + 1; // 由于索引从0开始,所以加1得到实际行数
} catch (IOException e) {
e.printStackTrace();
return -1; // 处理文件读取异常,返回错误状态
}
}
```
在这个例子中,`getLastRowNum()` 方法返回的是最后一个已知行的索引,所以我们加1来得到实际的行数。如果你需要处理多个sheet,可以循环遍历workbook里的所有sheets。