Java中的常见异常】的更多相关文章

非检查异常:Error 和 RuntimeException 以及他们的子类.0错误ArithmeticException,错误的强制类型转换错误ClassCastException,数组索引越界ArrayIndexOutOfBoundsException,使用了空对象NullPointerException等等.对于这些异常,我们应该修正代码,而不是去通过异常处理器处理 .这样的异常发生的原因多半是代码写的有问题. 检查异常:除了Error 和 RuntimeException的其它异常.SQ…
Java中的受检异常 Java提供了三种异常类型,受检异常(checked exception).运行时异常(runtime exception).错误(error).那么这受检异常在实际开发中又有什么最佳实践呢? 受检异常 如果抛出的异常是可恢复的,同时我们也期望API的调用者捕获异常进行恢复处理,那么我们应该使用受检异常.受检异常会强迫API的使用者截获异常并恢复处理,或者进行声明继续抛出. 图 1.IDE工具提示需要针对受检异常进行处理 图 2.捕获受检异常并进行恢复处理 图 3.重新声明…
Java中的异常分类 RuntimeException(也称unchecked exceptions,运行时异常) 就是我们在开发中测试功能时程序终止,控制台出现的异常.(一般来说,出现运行时异常基本就是你的问题,要检查代码,把运行时异常想成你的女朋友,不管怎么说,都是你的错(✿◕‿◕✿))常见的运行时异常有: ArrayStoreException:试图将错误类型的对象存储到一个对象数组时抛出的异常 ClassCastException:试图将对象强制转换为不是实例的子类时,抛出该异常 Ill…
package test;//创建一个名为test的包 public class A4paper implements Paper { public String getSize(){ return"A4";//实现接口Paper } } package test; public class B5paper implements Paper { public String getSize(){ return"B5";//实现接口Paper } } package t…
JAVA常见异常 Java.io.NullPointerException null 空的,不存在的 NullPointer 空指针 空指针异常,该异常出现在我们操作某个对象的属性或方法时,如果该对象是null时引发. String str = null; str.length();//空指针异常 上述代码中引用类型变量str的值为null,此时不能通过它调用字符串的方法或引用属性,否则就会引发空指针异常. 解决办法: 找到为什么赋值为null,确保该对象的值不能为null再操作属性或方法即可.…
当在静态初始化块中出现了异常的时候,JVM会抛出 java.lang.ExceptionInInitializerError异常.如果你了解Java中的静态变量,你会知道它们是在类加载的时候进行初始化的.如果在这个静态变量初始化的过程中出现了异常,那么就会抛出 java.lang.ExceptionInInitializerError异常.任何异常都可能会引发这种情况,比如说,java.lang.ArrayIndexOutOfBound或者java.lang.NullPointerExcepti…
转自 http://blog.sina.com.cn/s/blog_ab345e5d01010zaq.html 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeArrayException 数组下标越界异常:ArrayIndexOutOfBoundsException 违背安全原则异常:SecturityException 文件已结束异常:EOFEx…
异常的背景 初识异常 我们曾经的代码中已经接触了一些 "异常" 了. 例如: 除以 0 System.out.println(10 / 0); // 执行结果 Exception in thread "main" java.lang.ArithmeticException: / by zero 数组下标越界 int[] arr = {1, 2, 3}; System.out.println(arr[100]); // 执行结果 Exception in thread…
String str1="hello,world";String str2="Hello,World"; 1.字符串的比较:例,System.out.println(str1.compareTo(str2));System.out.println(str1.compareToIgnoreCase(str2)); 2.字符串的查找:                                                              注释:inde…
一.各种常见的异常 在上一节中程序如果你注意留意,程序抛出的异常是:java.lang.ArithmeticException.这个异常是在lang包中已经定义的.在lang包中还定义了一些我们非常常见的异常,如下表: 上面这些异常要求都能记住,程序抛出了异常后,你要知道程序发生了是什么问题.我们可以举个例子说明一下.代码如下: public static void main(String[] args) { Cal cal=null;//没有new对象 try{ int result=cal.…
NullPointerException (空指针异常) ClassCastException (类型强制转换异常) NumberFormatException (数字格式异常) NegativeArraySizeException (数组大小为负数异常) SecurityException (安全异常) BufferOverFlowException (缓冲区溢出异常) IndexOutofBoundsException (下标越界异常)…
在编程时,开发者经常会遭遇各式各样莫名错误.近日,Sushil Das 在 Geek On Java上列举了 Java 开发中常见的 5 个错误,与君共「免」. 原文链接:Top 5 Common Mistake in Java 以下为译文: 1. Null 的过度使用 避免过度使用 null 值是一个最佳实践.例如,更好的做法是让方法返回空的 array 或者 collection 而不是 null 值,因为这样可以防止程序抛出 NullPointerException.下面代码片段会从另一个…
近期,我给Java项目做了一次代码清理工作.经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代码错误)反复出如今代码中.因此,我把常见的这些违规编码总结成一份列表,分享给大家以帮助Java爱好者提高代码的质量和可维护性. 这份列表没有根据不论什么规则或顺序,全部的这些都是通过代码质量工具包含CheckStyle,FindBugs和PMD检查出.一起来看下: 一.Eclipse编译器提供源码格式输入 Eclipse提供自己主动源代码格式选项,而且组织输入(删除未使用的代码).你能够使用…
先看这样一段代码: List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); for (String temp : list) { if("1".equals(temp)){ list.remove(temp); } } 这是对一个集合进行简单迭代,当集合中的某一个元素与"1"相等则移除该元素,程序运行正常:此时…
摘要:作者Veera Sundar在清理代码工作时发现一些常见的违规编码,因此,Veera Sundar把针对常见的一些违规编码总结成一份列表,以便帮助Java爱好者提高代码的质量和可维护性. 最近,我给Java项目做了一次代码清理工作.经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代码错误)重复出现在代码中.因此,我把常见的这些违规编码总结成一份列表,分享给大家以帮助Java爱好者提高代码的质量和可维护性. 这份列表没有依据任何规则或顺序,所有的这些都是通过代码质量工具包括Che…
第一,谈谈final, finally, finalize的区别. final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 abstract的,又被声明为final的.将变量或方法声明为final,可以保证它们在使用中不被改变.被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改.被声明为final的方法也同样只能使用,不能重载 . finally?再异常处理时提供 finally 块来执行…
mapper接口中找不到相应方法 解决:配置xml读取路径错误 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.zys.boot_jeep.mapper.CarpeizhiMapper.showXCar 持续更新...…
1.strictfp, 即 strict float point (精确浮点). strictfp keyword可应用于类.接口或方法.使用 strictfp keyword声明一个方法时,该方法中全部的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范.当对一个类或接口使用 strictfp keyword时,该类中的全部代码,包含嵌套类型中的初始设定值和代码,都将严格地进行计算.严格约束意味着全部表达式的结果都必须是 IEEE 754 算法对操作数预…
1.Object reference not set to an instance of an object. 未将对象引用(引用)到对象的实例,说白了就是有个对象为null,但是你在用它点出来的各种东西. 2.An entity object cannot be referenced by multiple instances of IEntityChangeTracker. 一个实体对象不能由多个IEntityChangeTracker实例引用.首先参见MSDN中对于Entity Frame…
语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率.说白了,语法糖就是对现有语法的一个封装. 参考:https://blog.csdn.net/danchu/article/details/54986442 泛型java泛型学习笔记 http://blog.csdn.net/uncle_gy/article/details/77881849 java泛型擦除和泛型重载 http:/…
import java.io.IOException; public class ExceptionTryCatchTest { public void doSomething() throws IOException{ System.out.println("do somthing"); } public static void main(String[] args){ ExceptionTryCatchTest etct = new ExceptionTryCatchTest();…
1.Object reference not set to an instance of an object. 未将对象引用(引用)到对象的实例,说白了就是有个对象为null,但是你在用它点出来的各种东西. 2.An entity object cannot be referenced by multiple instances of IEntityChangeTracker. 一个实体对象不能由多个IEntityChangeTracker实例引用.首先参见MSDN中对于Entity Frame…
JDK自带注解 @Override 重写 @Deprecated 已过期 @Suppvisewarnings 压制警告 Demo: public interface Person { public String Name(); public int Age(); @Deprecated public void Say(); //过期,但不能删除,可以注解已过期 } class Man implements Person { @Override public String Name() { ret…
1. 工具类collections用于操作集合类,如List,Set,常用方法有: 1) 排序(Sort) 使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序.列表中的所有元素都必须实现 Comparable 接口.此列表内的所有元素都必须是使用指定比较器可相互比较的 double array[] = {112, 111, 23, 456, 231 };for (int i = 0; i < array.length; i++) {list.add(new Double(array…
转载自:https://www.cnblogs.com/bekeyuan123/p/6891875.html 数组的定义: // 3种定义方式 int[] arr = new int[5]; int[] arr1 = {1,2,3,4,5}; int[] nums = new int[]{1, 2, 3}; long[] arr2 = new long[6]; String[] strs = new String[5]; // 数组可以存储引用类型 Person[] ps = new Perso…
1.strictfp, 即 strict float point (精确浮点). strictfp 关键字可应用于类.接口或方法.使用 strictfp 关键字声明一个方法时,该方法中所有的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范.当对一个类或接口 使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值和代码,都将严格地进行计算.严格约束意味着所有表达式的结果都必须是 IEEE 754 算法对操作数预期的结果,以单精度和双…
公平和非公平锁 公平锁:是指多个线程按照申请的顺序来获取值.在并发环境中,每一个线程在获取锁时会先查看此锁维护的等待队列,如果为空,或者当前线程是等待队列的第一个就占有锁,否者就会加入到等待队列中,以后会按照 FIFO 的规则获取锁 非公平锁:是指多个线程获取值的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁.在并发环境中一上来就尝试占有锁,如果失败再进行排队,可能会造成优先级翻转或者饥饿现象 // 常用的ReentrantLock无参构造默认是非公平锁 /** * Cr…
//=============定义异常类 package org.springblade.flow.engine.errorException; /** * 自定义异常处理写入sap失败 */ public class CallbackErrorException extends Exception{ public CallbackErrorException(String detailMessage) { super(detailMessage); } } //============= 需要…
try{ } catch (Exception e){ String msg=.getMessage(): int index= msg. toUpperCase(). indexOf("ORA-"); String msg1= null; if(index !=-1){ msg1= msg. substring(index 4, index +9); } cfContractInfoModel. setMsg(msg1); return cfContractInfoModel; }…
public class Test1 { public static void main(String args[]) { System.out.println(getLineInfo()); getExp(); } public static String getLineInfo() { StackTraceElement ste = new Throwable().getStackTrace()[1]; return ste.getFileName() + ": Line " +…