public class Calculator
{
public int devide(int num1,
int num2)
{
//判断除数是否为0
if(num2
== 0)
{
throw new IllegalArgumentException("除数不能为零");
}
return num1/num2;
}
}
public static void testException1()
{
int[]
ints = new int[]
{ 1,
2,
3,
4 };
System.out.println("异常出现前");
try {
System.out.println(ints[4]);
System.out.println("我还有幸执行到吗");//
发生异常以后,后面的代码不能被执行
}
catch (IndexOutOfBoundsException
e) {
System.out.println("数组越界错误");
}
System.out.println("异常出现后");
}
/*output:
异常出现前
数组越界错误
4
异常出现后
*/
public static void testException2()
{
int[]
ints = new int[]
{ 1,
2,
3,
4 };
System.out.println("异常出现前");
System.out.println(ints[4]);
System.out.println("我还有幸执行到吗");//
发生异常以后,他后面的代码不能被执行
}
public class Rethrow
{
public static void readFile(String
file) throws FileNotFoundException
{
try {
BufferedInputStream
in = new BufferedInputStream(new FileInputStream(file));
}
catch (FileNotFoundException
e) {
e.printStackTrace();
System.err.println("不知道如何处理该异常或者根本不想处理它,但是不做处理又不合适,这是重新抛出异常交给上一级处理");
//重新抛出异常
throw e;
}
}
public static void printFile(String
file) {
try {
readFile(file);
}
catch (FileNotFoundException
e) {
e.printStackTrace();
}
}
public static void main(String[]
args) {
printFile("D:/file");
}
}
public class ExceptionA
extends Exception
{
public ExceptionA(String
str) {
super();
}
}
public class ExceptionB
extends ExceptionA
{
public ExceptionB(String
str) {
super(str);
}
}
public class ExceptionC
extends ExceptionA
{
public ExceptionC(String
str) {
super(str);
}
}
public class NeverCaught
{
static void f()
throws ExceptionB{
throw new ExceptionB("exception
b");
}
static void g()
throws ExceptionC
{
try {
f();
}
catch (ExceptionB
e) {
ExceptionC
c = new ExceptionC("exception
a");
throw c;
}
}
public static void main(String[]
args) {
try {
g();
}
catch (ExceptionC
e) {
e.printStackTrace();
}
}
}
/*
exception.ExceptionC
at
exception.NeverCaught.g(NeverCaught.java:12)
at
exception.NeverCaught.main(NeverCaught.java:19)
*/
public class NeverCaught
{
static void f()
throws ExceptionB{
throw new ExceptionB("exception
b");
}
static void g()
throws ExceptionC
{
try {
f();
}
catch (ExceptionB
e) {
ExceptionC
c = new ExceptionC("exception
a");
//异常连
c.initCause(e);
throw c;
}
}
public static void main(String[]
args) {
try {
g();
}
catch (ExceptionC
e) {
e.printStackTrace();
}
}
}
/*
exception.ExceptionC
at
exception.NeverCaught.g(NeverCaught.java:12)
at
exception.NeverCaught.main(NeverCaught.java:21)
Caused
by: exception.ExceptionB
at
exception.NeverCaught.f(NeverCaught.java:5)
at
exception.NeverCaught.g(NeverCaught.java:10)
...
1 more
*/
public void readFile(String
file) {
BufferedReader
reader = null;
try {
reader
= new BufferedReader(new InputStreamReader(
new FileInputStream(file)));
//
do some other work
}
catch (FileNotFoundException
e) {
e.printStackTrace();
}
finally {
try {
reader.close();
}
catch (IOException
e) {
e.printStackTrace();
}
}
}
public void readFile()
{
BufferedReader
reader = null;
try {
reader
= new BufferedReader(new InputStreamReader(
new FileInputStream("file")));
//
do some other work
//close
reader
reader.close();
}
catch (FileNotFoundException
e) {
e.printStackTrace();
}
catch (IOException
e) {
e.printStackTrace();
}
}
public void readFile()
{
BufferedReader
reader = null;
try {
try {
reader
= new BufferedReader(new InputStreamReader(
new FileInputStream("file")));
//
do some other work
//
close reader
}
finally {
reader.close();
}
}
catch (FileNotFoundException
e) {
e.printStackTrace();
}
catch (IOException
e) {
e.printStackTrace();
}
}
public class ResourceInConstructor
{
BufferedReader
reader = null;
public ResourceInConstructor()
{
try {
reader
= new BufferedReader(new InputStreamReader(new FileInputStream("")));
}
catch (FileNotFoundException
e) {
e.printStackTrace();
}
}
public void readFile()
{
try {
while(reader.readLine()!=null)
{
//do
some work
}
}
catch (IOException
e) {
e.printStackTrace();
}
}
public void dispose()
{
try {
reader.close();
}
catch (IOException
e) {
e.printStackTrace();
}
}
}
public void readFile(String
file) {
BufferedReader
reader = null;
Connection
conn = null;
try {
reader
= new BufferedReader(new InputStreamReader(
new FileInputStream(file)));
//
do some other work
conn
= DriverManager.getConnection("");
//...
}
catch (Exception
e) {
e.printStackTrace();
}
finally {
try {
reader.close();
conn.close();
}
catch (Exception
e) {
e.printStackTrace();
}
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有