首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

JAVA范例 四)错误处理-编译时错误、运行时错误

2012-10-25 
JAVA范例 四)异常处理---编译时异常、运行时异常实例35? 除0发生的算术异常(ArithmeticException)public cl

JAVA范例 四)异常处理---编译时异常、运行时异常

实例35? 除0发生的算术异常(ArithmeticException)

public class Runtime_01 {public static void main(String[] args) {for (int i = 10; i > 0; i--) {System.out.print(" " + (i / (i - 1)));if (i % 5 == 0)System.out.println();}}}

?

实例36? 数组下标越界异常

public class Runtime_02 {public static void main(String[] args) {int a[] = new int[5];for (int i = 0; i < 10; i++) {a[i] = i + 1;System.out.print(" " + a[i]);}}}

?

实例37? 数组元素类型不匹配异常

public class Runtime_03 {public static void main(String[] args) {Object obj[] = new String[5];for (int i = 0; i < obj.length; i++) {obj[i] = new Integer(i);System.out.print(" " + obj[i]);}}}

?

实例38? 强制类型转换异常

public class Runtime_04 {public static void main(String[] args) {Object x = new Integer(0);System.out.println((String) x);}}

?

实例39? 索引越界异常

public class Runtime_05 {public static void main(String[] args) {int[] array = new int[5];for (int i = 0; i < array.length; i++) {array[i] = i;}for (int i = 1; i <= array.length; i++) {System.out.print(array[i - 1] + " " + array[i]);}}}

?

实例40? 空指针异常

public class Runtime_06 {static Test test;public static void main(String[] args) {System.out.println(test.talk());}}class Test {public String talk() {return "this is a boy";}}

?

实例41? 数字格式转换异常

public class Runtime_07 {private String name;private String password;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public static void main(String[] args) {Runtime_07 r7 = new Runtime_07();String name = r7.getName();int password = new Integer(r7.getPassword()).intValue();System.out.println("用户名为" + name + ";密码为" + password);}}

?

实例42? 字符串索引越界异常

public class Runtime_08 {public static void main(String[] args) {String str = "This is a StringIndexOutBounds";char ch = str.charAt(30);System.out.println(ch);}}

?

实例43? 操作错误(UnsupportedOperationException)

import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Runtime_09 {public static void main(String[] args) {String[] listArray = new String[2];List list = Arrays.asList(listArray);List list1 = new ArrayList(list);list1.add("hello");listArray[0] = "china";list.add("world");// 抛出操作错误异常System.out.println(list.get(0) + "," + list.get(1));}}

?

实例44? 找不到指定类时发生的异常(ClassNotFoundException)

??? 这里没有提供MySQL的JDBC驱动文件,所以异常

package Chapter04.check;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class CheckException_01 {public static void main(String[] args) throws Exception {Connection conn = null;Statement stmt = null;ResultSet rst = null;String s = "";Class.forName("com.mysql.jdbc.Driver");// 注册驱动程序conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser", "root", "root");// 获得数据库的连接stmt = conn.createStatement();// 创建会话声明rst = stmt.executeQuery("select * from user");while (rst.next()) {System.out.print(s = new String(rst.getString(1).getBytes("ISO-8859-1"), "GBK")+ "--");System.out.print(s = new String(rst.getString(2).getBytes("ISO-8859-1"), "GBK")+ "--");System.out.print(s = new String(rst.getString(3).getBytes("ISO-8859-1"), "GBK")+ "--");System.out.print(s = new String(rst.getString(4).getBytes("ISO-8859-1"), "GBK"));System.out.println();}}}

?

实例45 请求的方法不存在

?UserAction.java

package chp10;import java.util.Date;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport {//定义一个UserAction类并使之继承ActionSupportprivate String name;private String password;private String date = new Date().toLocaleString();public String getDate() {return date;}public void setDate(String date) {this.date = date;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String addName() {System.out.println(this.getName() + "   " + this.getPassword()+ " hjhjhj");if (!this.getPassword().equals("") && !this.getName().equals("")) {return "success";} else {return "fail";}}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

?

?struts.xml?????????????????????? 这里事实上不存在add方法,当使用check.action时出现异常

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts><package name="package" extends="struts-default"><action name="check" method="add"><result name="success">/success.jsp</result><result name="fail">/fail.jsp</result></action></package></struts>

?web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list></web-app>

这里struts2用到的jar包:

commons-logging-1.1.jar

freemarker-2.3.8.jar

ognl-2.6.11.jar

struts2-core-2.0.6.jar

xwork-2.0.1.jar

?

?

热点排行