`

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灵感编程范例源代码41-60

    2. **异常处理**:Java中的异常处理是通过try-catch-finally块实现的,用于处理程序运行时可能出现的问题。范例可能包含如何正确抛出和捕获异常,以确保程序的健壮性。 3. **集合框架**:Java集合框架包括List、Set...

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

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

    Java灵感编程范例源代码61-80

    2. **异常处理**:Java使用异常处理机制来捕获和处理运行时错误。`try-catch-finally`块是常见的异常处理结构,用于确保即使在发生错误时也能执行必要的清理操作。查看源代码,你会看到如何妥善处理异常,以提高程序...

    java 范例大全源代码

    异常处理是Java程序中的重要部分,用于处理运行时错误。`try-catch-finally`结构用于捕获和处理异常,确保程序的健壮性。源代码中会包含各种异常处理的实例,帮助你理解如何正确地处理可能出现的问题。 集合框架是...

    Java范例开发大全代码

    3. **异常处理**:Java中的try-catch-finally结构,自定义异常,以及如何有效地处理运行时错误。 4. **集合框架**:ArrayList、LinkedList、HashSet、HashMap等数据结构的使用,以及迭代器、泛型等概念。 5. **IO...

    Java范例程序.rar_Java范例

    【Java范例程序.rar_Java范例】是一个包含基础Java编程示例的压缩包,适合初学者或希望巩固基础知识的开发者。这个压缩包中的资源旨在帮助用户理解和掌握Java语言的关键概念,通过实际代码来演示如何编写和运行Java...

    Java通用范例开发金典

    3. **异常处理**:Java的异常处理机制允许程序员优雅地处理程序运行时可能出现的问题。通过try-catch-finally结构,可以捕获并处理异常,保证程序的健壮性。 4. **集合框架**:Java集合框架包括List、Set、Map等...

    《Java通用范例开发金典》

    11. **注解**:注解是元数据的一种形式,可以用于编译时或运行时进行处理,如配置、代码生成、验证等。 通过《Java通用范例开发金典》的源代码,读者可以逐一探索上述知识点,每个示例都是一个具体的实践场景,有助...

    Java范例开发大全(光盘源码)

    3. **异常处理**:Java异常处理机制是其独特之处,书中会有专门章节介绍如何使用try-catch-finally语句块来捕获和处理运行时错误,提高程序的健壮性。 4. **集合框架**:Java集合框架是存储和管理对象的重要工具,...

    《java完全自学手册》范例程序代码册.rar

    4. **异常处理**:Java异常处理机制用于捕获和处理运行时错误。书中可能会展示try-catch-finally语句块的使用,以及如何自定义异常。 5. **输入/输出流**:Java的I/O流系统允许程序进行数据的读写操作,包括文件...

    java范例程序 中文版

    它以其“一次编写,到处运行”的特性而闻名,这意味着编写好的Java代码可以在任何支持Java的设备上运行,无需重新编译。本资源为“Java范例程序 中文版”,提供了丰富的示例代码,旨在帮助初学者和有经验的开发者更...

    JAVA项目开发实践-网上范例

    Java提供了异常处理机制,案例可能包含try-catch-finally语句块,以及自定义异常的创建和抛出,帮助开发者了解如何优雅地处理程序运行时可能出现的问题。 3. **集合框架**:Java集合框架包括List、Set、Map等接口和...

    Java完美经典-江义华+code+超过100个程式范例

    13. **Java注解(Annotation)**:元数据,用于提供编译时或运行时的信息,如Spring框架中的@Component注解。 14. **Java模块系统(Java 9+)**:介绍如何使用模块系统来组织和打包Java应用,提高可维护性和隔离性...

    java范例大全

    3. **异常处理**:Java提供了异常处理机制来处理运行时错误。在范例中,你可以看到如何使用try-catch-finally块,以及如何自定义异常。 4. **集合框架**:Java集合框架是处理对象数组的重要工具,包括List、Set、...

    java通用范例开发金典

    7. **反射与注解**:反射允许程序在运行时检查和修改自身的行为,而注解提供元数据,简化代码并提供编译时或运行时的检查。范例将展示如何使用反射创建和调用类、方法,以及自定义和使用注解。 8. **设计模式**:...

    java范例经典

    《Java范例经典》是一个集合了众多实用Java编程示例的资源库,旨在帮助开发者深入理解和熟练运用Java语言。这个压缩包文件包含了丰富的代码实例,是提升Java编程技能的重要参考资料。 1. **Java基础** - **数据...

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

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

Global site tag (gtag.js) - Google Analytics