`

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类并使之继承ActionSupport
	private 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" class="chp10.UserAction" 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

 

 

分享到:
评论

相关推荐

    java源码包---java 源码 大量 实例

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

    java范例开发大全(pdf&源码)

    4.1 编译时异常 54 实例35 除0发生的算术异常(ArithmeticException) 54 实例36 数组下标越界异常(ArrayIndexOutOfBoundsException) 55 实例37 数组元素类型不匹配异常(ArrayStoreException) 56 实例38 强制...

    java范例开发大全源代码

     4.1 编译时异常 54  实例35 除0发生的算术异常(ArithmeticException) 54  实例36 数组下标越界异常(ArrayIndexOutOfBoundsException) 55  实例37 数组元素类型不匹配异常(ArrayStoreException) 56 ...

    java范例开发大全

    4.1 编译时异常 54 实例35 除0发生的算术异常(ArithmeticException) 54 实例36 数组下标越界异常(ArrayIndexOutOfBoundsException) 55 实例37 数组元素类型不匹配异常(ArrayStoreException) 56 实例38 强制...

    Java范例开发大全 (源程序)

     4.1 编译时异常 54  实例35 除0发生的算术异常(ArithmeticException) 54  实例36 数组下标越界异常(ArrayIndexOutOfBoundsException) 55  实例37 数组元素类型不匹配异常(ArrayStoreException) 56  ...

    Java范例开发大全(全书源程序)

    Java范例开发大全(全书源程序),目录如下: 第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java编写的网页版魔方游戏 内容索引:JAVA源码,游戏娱乐,魔方,网页游戏 Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分...

    Java开发技术大全(500个源代码).

    示例描述:本章学习Java的异常处理。 demoException_1.java 异常示例1 demoException_2.java 异常示例2 demoException_3.java 异常示例3 demoException_4.java 异常示例4 demoException_5.java 异常示例5 ...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java编写的网页版魔方游戏 内容索引:JAVA源码,游戏娱乐,魔方,网页游戏 Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分...

    JAVA上百实例源码以及开源项目源代码

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

    java源码包4

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

    java源码包3

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

    JAVA上百实例源码以及开源项目

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

    java源码包2

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    《Java Web编程宝典(十年典藏版)》是一本集技能、范例、项目和应用为一体的学习手册,书中介绍了应用Java Web进行程序开发的各种技术、技巧。全书分4篇,共24章,其中,第1篇为技能学习篇,主要包括Java Web开发环境...

    (Java)FTP多线程下载源代码

    采用apache commons开发包,实现了FTP多... 另外要注意的是,输入的FTP目录和本地目录要正确,因为程序中没有处理这类异常(呵呵呵,毕竟这不是主要目的),范例 FTP目录:\FTP\hello.txt(\代表FTP根目录) 本地目录:C:\

    asp.net知识库

    利用委托机制处理.NET中的异常 与正则表达式相关的几个小工具 你真的了解.NET中的String吗? .NET中的方法及其调用(一) 如何判断ArrayList,Hashtable,SortedList 这类对象是否相等 帮助解决网页和JS文件中的中文...

    C++大学教程,一本适合初学者的入门教材(part1)

    21.7 运行时类型信息(RTTI) 21.8 运算符关键字 21.9 explicit构造函数 21.10 mutable类成员 21.11 类成员指针(.和—&gt;) 21.12 多重继承与virtual基类 21.13 结束语 小结 术语 自测练习 自测练习答案 练习 ...

Global site tag (gtag.js) - Google Analytics