0
点赞
收藏
分享

微信扫一扫

java异常处理及自定义异常

紫荆峰 2022-03-11 阅读 100
java

异常处理的实际上就是:

有风险的行为(方法)可能会将异常抛出(throw)。调用该方法的程序会尝试(try)去运行,运行的同时捕捉(catch)异常。

        简而言之,就是对有风险的行为进行处理。

 有风险的行为:

与程序代码上出现的逻辑问题不同(比如你对一个只有5项元素的数组取第8个元素的值),有风险的行为是指你无法保证在执行期不会出现的(例如某些文件会正确的待在某个特定的目录中,当实际执行时文件却又失踪了)。 

为什么要做异常处理:

让编译器确定你了解所调用的方法是有风险的,并也准备好用try和catch来处理它。如果对有风险的行为不进行异常状况处理则无法通过编译。

package a0304;

public class task {
	void doRisky(int num)throws numException{     //有风险的行为
		
		if (num>5) {
			System.out.print("start throw\n");
			throw new numException();             //可能抛出的异常
		}
		System.out.print("throw 以后不会往下运行,直接跳转到catch\n");

	}
	public static void main(String[] args) {
		
		task t1 = new task();
		
		try {                        //尝试运行程序,如果捕捉到异常则直接跳转到catch
			System.out.print("start try\n");
			t1.doRisky(6);
			System.out.print("end try\n");

		}
		catch(numException a){
			System.out.print("start catch\n");
			a.printStackTrace();                  //对应第40行代码
			System.out.print("end catch\n");
		}
		System.out.print("enddddddddddddddd!");
	}
}

//自定义异常类
class numException extends Exception{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	numException() {
		super("数字异常!!!");
	}
}

运行结果:

 如果把19行中  t1.doRisky(6); 改为   t1.doRisky(4);运行结果如下:

举报

相关推荐

0 条评论