异常处理(try~catch,throw,throws)

异常概念:
就是在程序运行时可能出现的一些错误,就是都可以理解为异常,对于异常的分类呢,其实从大体来说可以分为:一种是系统级别的异常error,一种是exception(可以捕获异常),可以自行通过api来看下exeption下有哪些异常的子类,比如说sql异常,数组越界异常,数据格式异常,等等等~

下面我们搞一搞 exception类下的子类异常 :

RunTimeException

RunTimeException异常类下又包括了很多异常子类,空指针啊,数组越界啊等~

简单看一下数组越界的异常和空指针异常的小样例

int arr[]=new int[5];
		System.out.println(arr[6]);
运行结果:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
	at beifendadai.Dome.main(Dome.java:21)
Object aa=null;
		System.out.println(aa.toString());
运行结果:
Exception in thread "main" java.lang.NullPointerException
	at beifendadai.Dome.main(Dome.java:21)

我们来看看ERROR,也就是说系统发生了重大的错误异常。

一共可分为3种情况
1.代码编写的有误,java他不能够生成class文件,比如语法中存在错误:
int o=1
他没有写分号,那么就会报错error,即使使用try catch语句也不能捕获~

try…catch

try里面放的是可能要发生运行时异常的代码,catch其实就是对如果出现了异常情况,代码怎么进行处理的意思
下面是一个对算数异常的简单处理

 try{
			 int i =1/0;
		 }catch(ArithmeticException e) {
			 System.out.println("发生算数异常,除数不能为0");
		 }

在代码中有很多很多种异常情况,同时可能会发生多种异常,下面看下多重异常是什么:

		 try{
			 int i =1/0;
		 }catch(ArithmeticException e) {
			 System.out.println("发生算数异常,除数不能为0");
		 }catch(NegativeArraySizeException e1) {
			 System.out.println("空指针异常");
		 }
		 //其实就是发生异常时去 catch后面逐一去匹配异常类型,来进行对应的处理

finally代码块

finally代码块其实在是 try catch代码的最后的一道保障,就是不管你程序在前面怎么报错,但是只要是有finally代码块,就得运行finally代码块的代码~

try{
			 int i =1/0;
		 }catch(ArithmeticException e) {
			 System.out.println("发生算数异常,除数不能为0");
		 }catch(NegativeArraySizeException e1) {
			 System.out.println("空指针异常");
		 }finally {
			System.out.println("别傻了,人家不在乎你,哈哈");
		}
		//运行结果: 发生算数异常,除数不能为0
					别傻了,人家不在乎你,哈哈

但是也有让finally代码块不执行的时候,比如说 finally代码是异常的,要不就是在try代码块中使用了强行终止代码块的方法,或者是线程死了,突然断电的情况。

异常的处理原则
1.不要乱抛异常,当你不能解决的时候,才能抛出去
2.不要忽略捕捉到的异常
3.不要过度的使用异常
4.不要使用过于庞大的 try…catch
5.子类抛出的异常,不能比父类的高级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: try catch finally throw throws 是Java中的关键字,用于处理异常try:用于包含可能会抛出异常的代码块。 catch:用于捕获try块中抛出的异常,并进行相应的处理。 finally:无论try块中是否抛出异常,finally块中的代码都会被执行。 throw:用于手动抛出异常throws:用于声明方法可能会抛出的异常类型。 ### 回答2: trycatch、finally、throwthrows都是Java中用于处理异常的关键字。 trytry异常处理语句的开始,用于包裹可能会抛出异常的代码块。在try块中,可以放置可能会出现异常的代码逻辑。 catchcatch用于捕获try块中可能抛出的异常。如果try块中出现了异常,会检查catch块中是否有能够处理异常的代码块。如果有匹配的catch块,程序会进入该catch块并执行异常处理逻辑。 finally:finally块用于定义无论是否发生异常,都必须执行的代码。即使try块中出现了异常,finally块中的代码仍然会被执行。finally块通常用于资源的释放,例如关闭文件或数据库连接。 throwthrow用于手动抛出异常。可以使用throw关键字在代码中显式地抛出某个具体的异常对象。一旦throw语句执行,程序将立即跳转到最近的catch块进行异常处理throws:throws关键字用于声明方法可能抛出的异常列表。在方法的声明中使用throws关键字,表明该方法可能会引发某些异常,调用该方法的代码需要对其进行异常处理或向上一层抛出。如果方法内的异常没有在catch块中处理,那么会根据throws所声明的异常列表传递给该方法的调用者。 总之,try用于尝试执行可能抛出异常的代码块,catch用于捕获和处理异常,finally用于定义无条件执行的代码块,throw用于手动抛出异常throws用于声明方法可能抛出的异常列表。这些关键字的使用可以有效地处理异常,提高程序的鲁棒性和可靠性。 ### 回答3: try catch finally throw throws 是Java中的异常处理机制。 try-catch语句用于捕获并处理异常try块中放置可能产生异常的代码,如果产生异常,则由catch块捕获并处理异常catch块中的代码是用于处理异常的,可以在其中编写特定的逻辑来处理异常情况。 finally块是可选的,用于在try-catch块之后执行一段无论是否发生异常都会执行的代码。finally块通常用于释放资源或进行清理操作,确保代码执行完毕后资源得到正确的释放。 throw关键字用于在代码中手动引发异常。通过throw语句,我们可以自定义异常并将其抛出,从而通知调用者发生了错误或特定情况。 throws关键字用于声明方法可能抛出的异常类型。在方法声明中使用throws关键字可以告诉调用者需要处理的可能出现的异常类型以便进行适当的异常处理。 总之,try-catch-finally语句用于处理可能发生的异常throw用于手动引发异常throws用于在方法声明中指定可能抛出的异常类型。异常处理是保证程序健壮性的重要一环,能够更好地应对异常情况,提高代码的可靠性和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值