文档介绍:该【java运行异常示例 】是由【知识徜徉土豆】上传分享,文档一共【11】页,该文档可以免费在线阅读,需要了解更多关于【java运行异常示例 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。java运行异常示例
首先,运行时的错误不是语法错误。
运行时错误叫做runtime Exception,是一种逻辑上的错误,主要有数组下标越界,空指针异常,除零异常等。在这里给你一个简单的例子。
public class RuntimeException {public static void main(String[] args) { int[] arr = new int[2];for(int i = 0; i arr[i] = i;} for(int i = 0; i ("arr["+i+"] = "+arr[i]);}}}这个简单的例子就会出数组下标越界的运行时异常。而语法错误时对应于语言本身的,一般会在编译时就会发现,如果你用工具的话,是可以在书写过程中就可以发现的。
ArithmeticException - 算术运算中,被0除或模除 - 数组越界访问ArrayStoreException - 数据存储异常,写数组操作时,对象或数据类型不兼容ClassCastException - 类型转换异常 - 方法的参数无效 - 试图非法改变线程状态,比方说试图启动一已经运行的线程NullPointerException - 试图访问一空对象的变量、方法或空数组的元素NumberFormatException - 数据格式异常,试图把一字符串非法转换成数值〔或相反〕SecurityException - 如果Applet试图执行一被浏览器安全设置所禁止的操作 - 如改变了某一类定义,却没有重新编译其他引用了这个类的对象。如某一成员变量的声明被从静态改变为非静态,但其他引用了这个变量的类却没有重新编译,或者相反。如删除了类声明中的某一域或方法,但没有重新编译那些引用了这个域或方法的类OutOfMemoryException - 内存不够,通常发生于创建对象之时 - JAVA运行时系统找不到所引用的类 - 试图实例化一个接口,Java运行时系统将抛出这个异常 - 如果所必需调用的方法是C函数,但Java运行时系统却无法连接这个函数InternalException - 系统内部故障所导致的异常状况,可能是因为Java运行时系统本身的原因。如果发现一可重现的InternalException,可以直接给Sun公司发电邮******@
首先,运行时的错误不是语法错误。运行时错误叫做runtime Exception,是一种逻辑上的错误,主要有数组下标越界,空指针异常,除零异常等。在这里给你一个简单的例子。
public class RuntimeException {
public static void main(String[] args) {
int[] arr = new int[2];
for(int i = 0; i
,带中文解释
算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常: 数组下标越界异常: 背离安全原则异常:SecturityException 文件已结束异常:EOFException 文件未找到异常:FileNotFoundException 字符串转换为数字异常:NumberFormatException 操作数据库异常:SQLException 输入输出异常:IOException 方法未找到异常:NoSuchMethodException 抽象方法错误。
当应用试图调用抽象方法时抛出。 断言错。
用来指示一个断言失败的状况。 类循环依赖错误。
在初始化一个类时,假设检测到类之间循环依赖则抛出该异常。 类格式错误。
当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。 错误。
是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序逮住的反常状况。
. 初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。
静态初始化程序是指直接包涵于类中的static语句段。 违法访问错误。
当一个应用试图访问、修改某个类的域〔Field〕或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。. 不兼容的类变化错误。
当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的状况下,容易引发该错误。
实例化错误。 内部错误。
用于指示Java虚拟机发生了内部错误。 链接错误。
该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的状况。 未找到类定义错误。
当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。 域不存在错误。
当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。 方法不存在错误。
当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。 内存不够错误。
当可用内存不够以让Java虚拟机分配给一个对象时抛出该错误。 堆栈溢出错误。
当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。 线程结束。
当调用Thread类的stop方法时抛出该错误,用于指示线程结束。 未知错误。
用于指示Java虚拟机发生了未知严重错误的状况。 未满足的链接错误。
当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。. 不支持的类版本错误。
当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。 验证错误。
当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。 虚拟机错误。
用于指示虚拟机被破坏或者继续执行操作所必需的资源不够的状况。 算术条件异常。
譬如:整数除零等。. 数组索引越界异常。
当对数组的索引值为负数或大于等于数组大小时抛出。 数组存储异常。
当向数组中存放非数组声明类型对象时抛出。 类造型异常。
假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异经常常被称为强制类型转换异常。
. 找不到类异常。当应用试图依据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。
. 不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone〔)方法则抛出该异常。
. 枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包涵常量时,抛出该异常。
根异常。用以描述应用程序希望逮住的状况。
. 违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。
. 违法的监。
那你 输入其他型的值会不会出现那个对话框 不报错之后呢???
你要显示什么
catch (NumberFormatException ex)
NumberFormatException 这个错误就是format number是报错的
你要想不让你报错就改这个错误类型
错误不再 catch 里面处理你说在那里处理啊?
你说说你想要的效果.
首先我测试过了 输入的数值超过int的范围 是一样的弹出 "你在对话框中没有输入整数值"
如果你还怕越界 你可以把 product = number1 * number2; 也放入 try catch中
你能不能看仔细点
下面还有一句呢 (0);
1、定义的时候初始化啊 int number1 = -1, number2 = -1,
product = -1;
2、
3、异常处理是有用的啊只是你没有退出方法而已
在你的 catch 里加句话
(null, "你在对话框中没有输入整数值", "消息",);
(0);
异常就是java提供的一种在程序出现错误时的处理机制,所谓错误就是程序在运行期间出现的一些异常。
当出现异常时,java会自动产生一个异常类的对象〔该对象中封装了异常的信息〕,并将该对象提交给java运行时系统,这个过程叫“抛出〔throw〕〞Java运行时系统接收到该对象后,会去寻找生理该异常的相应代码,并把这个对象让其来处理,这个过程叫“逮住〔catch〕〞异常的分类:Java中的异常〔Exception〕使用教程Throwable: Throwable类是 Java 语言中所有错误或异常的超类。Error:是由java虚拟机声明并抛出的。
Exception:必需要逮住的。RuntimeException:可以逮住也可以不逮住,例如:数组下标越界,被除数为0,空指针异常。
try {语句。
}catch(someExceptoin1 e){语句。
}catch(someException2 e){语句。
finally{语句。
}例题package ;public class TestException {public static void main(String[] args) {try {fun1(10, 1);} catch (Exception e) {// TODO Auto-generated catch ();}try {fun2();} catch (MyException e) {// TODO Auto-generated catch ();}}public static void fun1(int a, int b) throws Exception{if(b==0){Exception ae = new Exception();throw ae; }else{(a/b);}}public static void fun2()throws MyException{throw new MyException〔"逗你玩儿"〕;}}class MyException extends Exception{public MyException(String message) {super(message);}}。
运行时异常都有哪些
RuntimeException
ArithmeticException, ArrayStoreException, , , CannotRedoException, CannotUndoException, ClassCastException, CMMException, , DOMException, EmptyStackException, , , , IllegalStateException, ImagingOpException, , , , , NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, , ,
多个java中的常见异常处理〔10个以上〕
RuntimeException – ArithmeticException :数学计算异常 – NullPointerException :空指针异常 – :负数组长度异常 – :数组索引越界异常 – :类文件未找到异常 – ClassCastException :造型异常 * IOException – FileNotFoundException :文件未找到异常 – EOFException :读写文件尾异常 – MalformedURLException :URL格式错误异常 – SocketException :Socket异常。
public class sew extends RuntimeException {