异常--Exception

异常(Exception)

-->java是采用面向对象的方式来处理异常的。处理过程:

--抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE。

--捕获异常:JRE得到该异常后,寻找相应的代码来处理该异常。JRE在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到相应的异常处理代码为止。

-->NullPointerException :

当程序访问一个空对象的成员变量或方法,访问一个空数组的成员时发生。处理方法:

TestException te = new TestException();

if( te != null ){

te.method();

}

-->ClassCastException :

类转型时易发生的异常。处理方法:

if( obj instanceof Man ){

Man man = (Man) obj;

}

-->ArrayIndexOutOfBoundsException :

访问的元素下标超过数组的长度

-->NumberFormatException :

数字格式异常

-->

-->方法重写中声明异常原则:

子类声明的异常范围不能超过父类声明的范围。包含如下意思:

--1.父类没有声明异常,子类也不能。

--2.不可抛出原有方法抛出异常的父类或上层目录

--3.抛出的异常类型的数目不可以比原有的方法的多。(不是值个数、指类型)

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-16 07:07:12

异常--Exception的相关文章

理解Python语言里的异常(Exception)

Exception is as a sort of structured "super go to".异常是一种结构化的"超级goto". 作为一个数十年如一日地钟爱C语言的程序员(因为C程序员需要记忆的关键字很少,而且可以很惬意地玩内存),对于高级语言如Python里的异常(Exception)一直不甚理解,尤其是其实现机理.但读了<Learning Python>一书中上面这句话(尤其是goto关键字)后,忽然豁然开朗. 如果用C语言编写一个鲁棒性良

浅谈java异常[Exception]

本文转自:focusJ 一. 异常的定义 在<java编程思想>中这样定义 异常:阻止当前方法或作用域继续执行的问题.虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常.绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败.之所以java要提出异常处理机制,就是要告诉开发人员,你的程序出现了不正常的情况,请注意. 记得当初学习java的时候,异常总是搞不太清楚,不知道这个异常是什么意思,为什么会有这个机制?但是随着知识的积累逐渐也

PL/SQL 08 异常 exception

--PL/SQL错误  编译时  运行时 --运行时的出错处理  EXCEPTION --异常处理块DECLARE -BEGIN -EXCEPTION WHEN OTHERS THEN  handler_error(-);END; --用户自定义的异常DECLARE e_TooManyStudents EXCEPTION; -BEGIN - RAISE e_TooManyStudents; -EXCEPTION WHEN e_TooManyStudents THEN  -END; --预定义的O

异常Exception in thread &quot;AWT-EventQueue-XX&quot; java.lang.StackOverflowError

今天太背了,bug不断,检查到最后都会发现自己脑残了,粗心写错,更悲剧的是写错的时候还不提示错. 刚才有遇到一个问题,抛了这个异常Exception in thread "AWT-EventQueue-XX" java.lang.StackOverflowError XX有好几个值,我遇到了2,7,20,其实他们都是一个错,StackOverflowError,对,就是栈溢出,为什么会栈溢出呢?我遇到的问题是我写了一个方法,又自己去调用自己,造成了递归,而这个递归又停不下来,造成了栈溢

JDBC 数据库异常 Exception 关闭的(语句,连接,ResultSet)

如果在rs.next()之前关闭了Statement或PreparedStatement,会导致下面的异常: java.sql.SQLException: 关闭的语句: next 如果在rs.next()之前关闭了Connection,会导致下面的异常: java.sql.SQLException: 关闭的连接: next问题 如果在rs.next()之前关闭了ResultSet,会导致下面的异常: java.sql.SQLException: 关闭的 Resultset: next JDBC

异常-Exception in thread &quot;main&quot; net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 1, column 596. Encountered: &lt;EOF&gt; after :

1 详细异常 Exception in thread "main" net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 1, column 596. Encountered: <EOF> after : at net.sf.jsqlparser.parser.CCJSqlParserTokenManager.getNextToken(CCJSqlParserTokenManager.java:3124)

【异常】Maxwell异常 Exception in thread &quot;main&quot; net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 1, column 596. Encountered: &lt;EOF&gt; after : &quot;&quot;

1 详细异常 Exception in thread "main" net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 1, column 596. Encountered: <EOF> after : "" at net.sf.jsqlparser.parser.CCJSqlParserTokenManager.getNextToken(CCJSqlParserTokenManag

Hbase delete遇到的常见异常: Exception in thread &quot;main&quot; java.lang.UnsupportedOperationException

hbase 执行批量删除时出现错误: Exception in thread "main" java.lang.UnsupportedOperationException at java.util.AbstractList.remove(AbstractList.java:161) at org.apache.hadoop.hbase.client.HTable.delete(HTable.java:852) 这种异常其实很常见,remove操作不支持,为什么会出现不支持的情况呢?检查

Oracle存储过程中异常Exception的捕捉和处理

Oracle存储过程中异常的捕捉和处理 CREATE OR REPLACE Procedure Proc_error_process ( v_IN in Varchar2, v_OUT Out Varchar2) AUTHID CURRENT_USER AS --声明异常 some_kinds_of_err EXCEPTION; -- Exception to indicate an error condition v_ErrorCode NUMBER; -- Variable to hold