java--异常练习

1、自定义异常

问题:自定义异常的编写有何特点?自定义异常如何抛出?

//2、自定义抛出异常
class MyException extends Exception {
	String id;//异常标识
	public MyException(String str) {
		id = str;
	}
	public String toString() {
		return "异常:" + id;
	}
}
public class Hello2 {
	 public static void main(String arg[]){
		try {
			throw new MyException("一个异常");
		}catch(MyException e) {
			System.out.println(e);
		}

  }
}

2、方法异常声明

在这里插入图片描述

设计一个方法求一元二次方程的根。

//2、自定义抛出异常
class MyException extends Exception {
	String id;//异常标识
	public MyException(String str) {
		id = str;
	}
	public String toString() {
		return "异常:" + id;
	}
}

public class Hello2 {
	static double[] root(double a, double b, double c) throws MyException {
		double x[] = new double[2];
		if(a == 0) { throw new MyException("a不能为0。");}
		else {
			double disc = b*b - 4*a*c;
			if(disc < 0) throw new MyException("无实数解!");
			x[0] = (-b + Math.sqrt(disc)) / (2*a);
			x[1] = (-b - Math.sqrt(disc)) / (2*a);
			return x;
		}
	}
	 public static void main(String arg[]){
		try {
			double x[] = root(2.0,1,3);
			System.out.println("方程根为:" + x[0] + "," + x[1]);
		}catch (Exception e) {
			System.out.println(e);
		}

  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java中的异常处理使用try-catch语句进行捕获。try语句块中包含可能出现异常的代码,catch语句块中包含处理异常的代码。当try语句块中的代码抛出异常时,控制权会转移到catch语句块中,在catch语句块中进行异常处理。 格式如下: ``` try { //可能出现异常的代码 } catch (ExceptionType e) { //处理异常的代码 } ``` 可以使用多个catch语句来捕获不同类型的异常,也可以在catch语句后面使用finally语句块来执行一些清理操作。 详细代码实例可以参考: ``` try { int a = 5 / 0; } catch (ArithmeticException e) { System.out.println("除数不能为零"); } finally { System.out.println("这是finally语句块中的代码"); } ``` 上面的代码中,在try语句块中进行了除法运算,由于除数为零,会抛出ArithmeticException异常。catch语句块中的代码会捕获这个异常并输出"除数不能为零"。finally语句块中的代码会在try语句块和catch语句块之后执行。 ### 回答2: Java 异常处理是 Java 程序设计中非常重要的部分,可以处理程序在运行中出现的错误,避免程序的崩溃和数据的丢失。Java 异常处理程序主要由 try、catch 和 finally 三个关键字组成。在其中,try 是用于尝试执行可能会抛出异常的代码块,catch 是用于捕获异常并进行处理,finally 则是用于在不管是否抛出异常都必须执行的代码块。 当一个程序在运行中遇到问题,会抛出一个异常Java 程序可以捕获这个异常并对其进行处理,防止程序的崩溃。在 Java 中,异常是以类的形式存在的,Java 提供了许多已定义好的异常类,以满足各种不同类型的异常。 try-catch 块分为两个部分,try 部分包含可能会抛出异常的代码块,catch 部分则包含处理异常的代码块。当 try 部分出现异常时,Java 能够捕获这些异常并将它们交给相应的 catch 部分处理。在 catch 的括号中,定义了需要捕获异常的类型,这个类型必须是 Exception 异常类或其子类。 Java 提供了多个类型的异常,如运行时异常和非运行时异常。对于非运行时异常Java 编译器会在编译时强制要求程序员进行异常处理,而对于运行时异常,则不需要强制进行处理。对于程序可能出现的异常,程序员应该尽量避免出现并提前做好预防,但是对于有可能出现的异常,正确的使用 try-catch 代码块可以减少程序异常崩溃的风险,提高程序的稳定性。 总之,练习 Java 异常处理之 try-catch 块中的异常捕获,是 Java 中的重要主题之一。通过正确的异常捕获,我们可以避免程序崩溃,减少数据丢失的风险,提高程序的稳定性和安全性。当出现异常时,我们需要仔细分析异常的类型并将它们交给相应的 catch 块进行处理,让程序在保持正常运行的同时,呈现出更好的性能。 ### 回答3: 在Java编程中,异常捕获是非常重要的一部分,可以帮助我们处理代码中可能出现的错误。在Java中,异常是指在程序运行过程中出现的不正常情况,如除数为0、空指针、超出范围等非法操作。为了避免这些异常导致程序的中断或崩溃,我们可以使用try-catch代码块来捕获异常并进行相应的处理。 在使用try-catch时,我们需要将可能会出现异常的代码放在try块中,然后在catch块中处理异常。如果在try块中没有出现异常,那么catch块则不会执行;但如果在try块中出现了异常,则程序会跳转到catch块来处理异常。 try-catch的语法如下所示: try { // 可能会产生异常的代码 } catch (异常类型1 异常变量名1) { // 处理异常的代码 } catch (异常类型2 异常变量名2) { // 处理异常的代码 } catch (异常类型3 异常变量名3) { // 处理异常的代码 } finally { // 无论是否发生异常,都会执行的代码 } 在try块中可能会出现多种异常,我们可以在catch块中分别处理不同类型的异常。如果在catch块中找不到与所抛出异常类型相匹配的异常处理程序,那么程序就会将异常交给JVM来处理,并终止程序的运行。 在catch块中,我们可以使用多种方式来处理异常,如输出异常信息、记录日志、重新抛出异常等,具体方法根据实际情况而定。另外,finally块中的代码无论是否出现异常,都会被执行,常用于资源的释放或清理等操作。 总之,在编写Java代码时,我们应该尽可能地预见并处理可能出现的异常,避免因异常而导致的程序崩溃或数据丢失等问题。通过使用try-catch来捕获异常并进行处理,可以使我们的代码更加健壮、可靠。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值