查阅JDK文档,给出NullPointerException、ClassCastException、NumberFormatException、NegativeArraySizeException、NoSuchMethodException等异常类各自代表的错误,然后尝试设计合适的代码,分别产生并处理其中的一种异常。
时间: 2023-07-10 08:08:11 浏览: 56
java中常见的NullPointerException异常.pdf
1. NullPointerException:表示尝试访问一个空引用对象的属性或方法。
```java
String str = null;
try {
str.length();
} catch (NullPointerException e) {
System.out.println("发生了空指针异常:" + e.getMessage());
}
```
2. ClassCastException:表示尝试将一个对象强制转换成不兼容的类。
```java
Object obj = new String("Hello");
try {
Integer num = (Integer) obj;
} catch (ClassCastException e) {
System.out.println("发生了类型转换异常:" + e.getMessage());
}
```
3. NumberFormatException:表示尝试将一个字符串转换为数值类型,但字符串格式不正确。
```java
String str = "abc";
try {
int num = Integer.parseInt(str);
} catch (NumberFormatException e) {
System.out.println("发生了数字格式化异常:" + e.getMessage());
}
```
4. NegativeArraySizeException:表示尝试创建一个负数长度的数组。
```java
int[] arr;
try {
arr = new int[-1];
} catch (NegativeArraySizeException e) {
System.out.println("发生了负数组长度异常:" + e.getMessage());
}
```
5. NoSuchMethodException:表示尝试调用不存在的方法。
```java
class MyClass {
public void method1() {}
}
MyClass obj = new MyClass();
try {
obj.method2();
} catch (NoSuchMethodException e) {
System.out.println("发生了方法不存在异常:" + e.getMessage());
}
```
阅读全文