java 捕获异常并存入数据库_java异常处理,报异常的话怎么处理对象值,并持久化到数据库中...
展開全部
//沒看到有人回e68a843231313335323631343130323136353331333365646233答你,我還沒學到框架,不知道那個是不是可以很便捷操作你說的這樣過程
//我寫個基礎點的,就是一個序列化與反序列化的過程,你這個是要偵測到參數異常的時候
//才開始進行序列化操作的,其實我覺得原理應該都是一樣的吧!
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileNotFoundException;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.ObjectInputStream;
import?java.io.ObjectOutputStream;
import?java.io.Serializable;
import?java.util.ArrayList;
public?class?ObjectTest?{
File?path?=?new?File("K:/IO測試/Baidu");//路徑!
static?File?file?=?null;
String?name?=?null;
public?static?void?main(String[]?args)?{
ObjectTest?obj=new?ObjectTest();
obj.createUser();//創建對象,傳入非法參數進行捕捉!
User?u=obj.des();//反序列化過程!
if(u!=null)
System.out.println("\r\n查看對象屬性:\t"+u);
}
//1.序列化過程!
public?String?createUser()?{
ObjectOutputStream?oos?=?null;
ArrayList?userMapper?=?new?ArrayList<>();
User?user?=?new?User();
try?{
user.setName("小明");
name?=?user.getName()?+?".object";
user.setStatus(0);//?將狀態設置為成功
userMapper.add(user);
}?catch?(Exception?e)?{
//?報異常,將status設置為1存到庫中
System.out.println("偵測到參數異常,即將存入數據庫!");
user.setStatus(1);
File?tem?=?new?File(path,?name);
if?(!tem.exists())?{//?如果異常文件不存在,就創建!
file?=?new?File(path,?name);
try?{
oos?=?new?ObjectOutputStream(new?FileOutputStream(file));
oos.writeObject(user);
System.out.println("正在寫入數據!");
}?catch?(FileNotFoundException?e1)?{
e1.printStackTrace();
}?catch?(IOException?e1)?{
e1.printStackTrace();
}
}else?{
System.out.println("數據庫中已經有數據,寫入失敗,直接讀取!\r\n");
}
}?finally?{
if?(oos?!=?null)?{
try?{
oos.close();
System.out.println("存入完成!\r\n");
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
}
return?name;
}
//2.反序列化過程:也就是讀取序列化文件的過程!
private?User?des()?{
ObjectInputStream?ois=null;
File?filed=new?File(path,name);
if(!filed.exists())?{
System.out.println("數據不存在,失敗!");
return?null;
}
try?{
System.out.println("數據存在,開始反序列化!");
ois=new?ObjectInputStream(new?FileInputStream(new?File(path,name)));
return?(User)ois.readObject();
}?catch?(FileNotFoundException?e)?{
e.printStackTrace();
}?catch?(IOException?e)?{
e.printStackTrace();
}?catch?(ClassNotFoundException?e){
e.printStackTrace();
}?finally?{
if(ois!=null)?{
try?{
ois.close();
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
}
return?null;
}
}
//角色類
class?User?implements?Serializable?{
private?static?final?long?serialVersionUID?=?1L;
private?String?name;
private?int?status;
public?String?getName()?{
return?name;
}
public?void?setName(String?name)?{
this.name?=?name;
}
public?int?getStatus()?{
return?status;
}
public?void?setStatus(int?status)?{
if?(status?<=?0)?{
throw?new?RuntimeException("");
}
this.status?=?status;
}
public?String?toString()?{
return?"姓名:"+name?+?";\t年齡:"?+?status;
}
}
總結
以上是生活随笔為你收集整理的java 捕获异常并存入数据库_java异常处理,报异常的话怎么处理对象值,并持久化到数据库中...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022-2028年中国商业综合体行业市
- 下一篇: Struts2 Cannot crea