java自定义异常题
时间: 2024-01-19 16:18:22 浏览: 26
以下是一个Java自定义异常的示例:
```java
/**
* 自定义异常类
*/
public class MyException extends Exception {
// 异常信息
private String message;
// 构造函数
public MyException(String message){
super(message);
this.message = message;
}
// 获取异常信息
// 由于构造函数调用了super(message),不用重写此方法
// public String getMessage(){
// return message;
// }
}
/**
* 测试异常
*/
public class TestException {
@org.junit.Test
public void test(){
UseMyException ex = new UseMyException("admin","123");
try{
ex.throwException("1234");
}catch (MyException me){
System.out.println("MyException:"+me.getMessage());
}
}
}
```
相关问题
java异常处理练习题
好的,以下是一些Java异常处理练习题:
1. 编写一个程序,在控制台上输出 1 到 10 的数字,但是当数字为 5 时,抛出一个自定义异常,程序继续执行直到输出完毕。
```java
public class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
try {
if (i == 5) {
throw new CustomException("数字为5,抛出自定义异常");
}
System.out.println(i);
} catch (CustomException e) {
System.out.println(e.getMessage());
}
}
}
}
```
2. 编写一个程序,模拟用户登录过程。如果用户名和密码不匹配,或者用户名不存在,抛出一个自定义异常,并输出错误信息。如果用户名和密码匹配,则输出登录成功。
```java
public class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}
public class Main {
public static void main(String[] args) {
String username = "admin";
String password = "123456";
String inputUsername = "admin";
String inputPassword = "123456";
try {
if (!inputUsername.equals(username)) {
throw new CustomException("用户名不存在");
}
if (!inputPassword.equals(password)) {
throw new CustomException("密码不正确");
}
System.out.println("登录成功");
} catch (CustomException e) {
System.out.println(e.getMessage());
}
}
}
```
3. 编写一个程序,从控制台输入一个整数 n,计算阶乘 n!。如果输入的不是整数,或者 n 小于 0,抛出一个自定义异常,并输出错误信息。
```java
public class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = 0;
try {
System.out.print("请输入一个整数:");
n = scanner.nextInt();
if (n < 0) {
throw new CustomException("输入的数必须大于等于0");
}
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
System.out.println(n + "! = " + result);
} catch (InputMismatchException e) {
System.out.println("输入的不是整数");
} catch (CustomException e) {
System.out.println(e.getMessage());
}
}
}
```
java2024面试题
当然,我可以为您提供一些Java面试题的介绍。以下是一些常见的Java面试题:
1. 什么是Java的基本数据类型?有哪些基本数据类型?
2. Java中的String和StringBuilder有什么区别?
3. 什么是Java中的封装、继承和多态?
4. 什么是Java中的异常处理机制?有哪些常见的异常类?
5. Java中的final关键字有什么作用?
6. 什么是Java中的线程?如何创建和启动一个线程?
7. Java中的集合框架有哪些?请简要介绍一下ArrayList和LinkedList的区别。
8. 什么是Java中的反射机制?如何使用反射来获取类的信息和调用类的方法?
9. Java中的IO流有哪些?请简要介绍一下字节流和字符流。
10. 什么是Java中的注解?如何自定义注解?
这些问题涵盖了Java的基础知识、面向对象编程、异常处理、多线程、集合框架、反射机制、IO流和注解等方面。希望对您有所帮助!