这篇文章主要介绍了java基础异常处理代码及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
异常的定义:中断了正常指令流的事件。
try..catch..finally结构:
class Test{ public static void main(String[] args){ System.out.println(1); try{ System.out.println(2); int i = 1 / 0; System.out.println(3); } catch(Exception e){ e.printStackTrace(); System.out.println(4); } finally{ System.out.println(5); } System.out.println(6); } }
输出结果:
D:\Java\code\练习十二>java Test java.lang.ArithmeticException: / by zero at Test.main(Test.java:6)
throw与throws关键字
class User{ private int age; public void setAge(int age) throws Exception{ if(age <= 0){ Exception e = new Exception("input age is error!"); throw e; } else{ this.age=age; } } }
class Test{ public static void main(String[] args){ User u = new User(); try{ u.setAge(-20); } catch(Exception e){ System.out.println(e); } } }
D:\Java\code\练习十二>java Test java.lang.Exception: input age is error!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍C++常见异常处理原理及代码示例解析,包括了C++常见异常处理原理及代码示例解析的使用技巧和注意事项,需要的朋友参考一下 编程中常见的错误 程序的编译错误——比较好解决,主要是一些语法错误 程序的运行错误——产生因素较为复杂,如空间不够,下标越界,访问非法空间等。 异常是指程序运行时出现的不正常,可分为一下几类: CPU异常;如在计算过程中,出现除数为0的情况。 内存异常,如: 使用
本文向大家介绍Java异常处理的基础,包括了Java异常处理的基础的使用技巧和注意事项,需要的朋友参考一下 异常-这意味着异常错误。实际上,异常用于处理程序执行期间发生的程序错误。 您可以使用以下关键字在程序中实现异常处理: try -此块在JRE捕获一系列错误,并将其扔到catch块。 catch-捕获try {}块引发的错误。 throw-抛出关键字用于显式或手动抛出异常。 throws-用于
异常是程序执行过程中产生的问题。C# 异常是对程序运行过程中出现的额外情况的一种反馈,例如除数为零时。 异常提供了一种将控制权从程序的一个部分转移到另一个部分的方式。C# 异常处理有四个关键词:try,catch,finally,throw。 try:try 块标识代码块的哪些特定的异常将被激活。它的后面是一个或多个 catch 块。 catch:一个用于捕获异常的程序段,将 catch 放在你希
本文向大家介绍Java基础之异常处理操作示例,包括了Java基础之异常处理操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java基础之异常处理操作。分享给大家供大家参考,具体如下: 示例代码: 抛出异常: 重新抛出异常: throws语句:一个方法产生自己不做处理的异常,用throws抛出到外层(谁调用,谁处理异常) 可以用一个catch()捕获多个异常: 自定义异常: 更多ja
本文向大家介绍JAVA异常处理捕获与抛出原理解析,包括了JAVA异常处理捕获与抛出原理解析的使用技巧和注意事项,需要的朋友参考一下 JAVA 异常 当代码运行出现错误导致程序终止运行或出现错误情况的状况,就是异常。异常不是指语法错误,即不属于编译错误,只有运行的程序才会有异常。 这个时候,JAVA 就提供了优秀的处理方法:异常处理 异常处理能让程序在异常发生时,按照异常处理设定的逻辑对异常进行处理
ThreadLocal 为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。当使用 ThreadLocal 维护变量时,ThreadLocal 为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 每个线程中都保有一个ThreadLocalMap的成员变量,ThreadLocalMap内部采