实例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
703

被折叠的 条评论
为什么被折叠?



