5个回答
展开全部
public Date getTimeToOverClass() throws ParseException{
String time = "2011-11-1 17:00:00";
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = f.parse(time);
return d;
}
ParseException 解析异常.
这种是发生异常时候,不去try catch 这个异常,一般try catch异常后,在catch里面要将这个异常进行处理。而枯橘这种在方法名后面直接throws 是将异常直接抛出,意思就是发生异常了不做处理,将异常抛给调用这个方法的人去处理。比如你在main方法里面调用了这个方法,那你main方法就要做处理枯败明,可以用try catch来处理,也可以同样不做处理,在main方没告法名后,继续抛出。
String time = "2011-11-1 17:00:00";
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = f.parse(time);
return d;
}
ParseException 解析异常.
这种是发生异常时候,不去try catch 这个异常,一般try catch异常后,在catch里面要将这个异常进行处理。而枯橘这种在方法名后面直接throws 是将异常直接抛出,意思就是发生异常了不做处理,将异常抛给调用这个方法的人去处理。比如你在main方法里面调用了这个方法,那你main方法就要做处理枯败明,可以用try catch来处理,也可以同样不做处理,在main方没告法名后,继续抛出。
追问
能解释下代码的意思吗?这些类我都没学过
追答
SimpleDateFormat 这个对象是可以完成字符串与日期类型的转换,而且是按照你直接定义的类型来转换,比如 我定义了一个String类型的变量time.然后你定义SimpleDateFormat 这个对象来解析这个String类型的time.比如你定义的time="2011/11/1 17:20:00" 那你要解析这个time,你必须要让你的SimpleDateFormat 这个对象,知道按照什么样的规范去解析,你就可以这样定义了:
SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
定义好这个对象后,你就可以用它来解析了,也就是Date d = f.parse(time);
这样一个String 类型的变量 就被你解析成一个日期类型Date d 这个变量了。
相反的,你也可以将一个Date类型的变量,来解析成一个String. 比如上面的日期类型的变量d,
用 String s = f.format(d); 这样又把它重新转回成String了。
只是这2个方法都有可能发生异常,因为如果你传进来的String 类型的变量,跟你解析对象定义的规范不一样,就会发生异常。
展开全部
给你写了给比较简单的例子 不懂call我
public class Tst9 {
public static void main(String[] args) {
// 抓异常的例子
demo1();
try {
demo2();
} catch (NullPointerException e) {
System.err.println("demo2 : NullPointerException");
} finally {
}
}
public static void demo1() {
// 不抛出异脊槐竖常给上层 在本方法中直接catch处理
try {
int[] a = null;
a[3] = 9;// 空指针异常
} catch (NullPointerException e) {
System.err.println("demo1 : NullPointerException"明猜);
} finally {
}
}
public static void demo2() throws NullPointerException {
// 在本方法中不catch 抛给樱大上层处理
int[] a = null;
a[3] = 9;
}
}
public class Tst9 {
public static void main(String[] args) {
// 抓异常的例子
demo1();
try {
demo2();
} catch (NullPointerException e) {
System.err.println("demo2 : NullPointerException");
} finally {
}
}
public static void demo1() {
// 不抛出异脊槐竖常给上层 在本方法中直接catch处理
try {
int[] a = null;
a[3] = 9;// 空指针异常
} catch (NullPointerException e) {
System.err.println("demo1 : NullPointerException"明猜);
} finally {
}
}
public static void demo2() throws NullPointerException {
// 在本方法中不catch 抛给樱大上层处理
int[] a = null;
a[3] = 9;
}
}
追问
能用个不是RuntimeException 的异常举例吗?
追答
我虽然不太明白你要什么 不过我还是尽我的所能说一说
如果不是运行异常 那就应该只有编译异常了
我只在io那块碰到过异常处理
和io相关的很多方法都会抛出异常
比如读文件
File f=new File("aaa");
try {
FileReader fr=new FileReader(f);
} catch (FileNotFoundException e) {
//do nothing
}
方法会可能抛出FileNotFound异常
其实这异常如果你确定file一定存在 可以根本不处理 因为一定不会抛出异常
其实有些异常关键看你怎么处理 也就是我们所说的策略
比如文件上传 如果客户端突然断电了 那这是不可避免的会出现异常
你要做的是告诉客户端没传成功 已经服务器端把没上传完的文件删了
这样就算比较好的完成了这个异常的处理
异常我其实也不是很懂 欢迎交流
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
抛出异常就是不处理异常,让调用这个方法的去处理这个异常。
//下面方法就是当x小于零时抛出一个不是正数的异常
public static void valideData(double x)
throws NotPositiveDataException{
if(x<=0) {throw(new NotPositiveDataException(x));}
}
//也可以抛出一个自己创建的异常
//闷盯这是个求三角形面积的方法,他抛出a,b,c三边不能组成三角形的异常。
public class Triangle {
public static double calculArea(double a,double b,double c)
throws TriAreaCalException {
//两边族罩宴之和是否大于第三边
if(a+b>c&&b+c>a&&a+c>b){
double s,A;
s=(a+b+c)/2;
A=Math.sqrt(s*(s-a)*(s-b)*(s-c));
return A;
}
//两边之和不大于第三边就抛出TriAreaCalException()
else throw(new TriAreaCalException());
}
//TriAreaCalException类的代码为
//创建异常类必兆银须要继承exception类
public class TriAreaCalException extends Exception {
private static final long serialVersionUID=1L;
private String str;
public TriAreaCalException(){
this.str="Can not be a Triangle";
}
@Override
public void printStackTrace() {
// TODO Auto-generated method stub
//super.printStackTrace();
System.out.println(this.str);
}
}
//下面方法就是当x小于零时抛出一个不是正数的异常
public static void valideData(double x)
throws NotPositiveDataException{
if(x<=0) {throw(new NotPositiveDataException(x));}
}
//也可以抛出一个自己创建的异常
//闷盯这是个求三角形面积的方法,他抛出a,b,c三边不能组成三角形的异常。
public class Triangle {
public static double calculArea(double a,double b,double c)
throws TriAreaCalException {
//两边族罩宴之和是否大于第三边
if(a+b>c&&b+c>a&&a+c>b){
double s,A;
s=(a+b+c)/2;
A=Math.sqrt(s*(s-a)*(s-b)*(s-c));
return A;
}
//两边之和不大于第三边就抛出TriAreaCalException()
else throw(new TriAreaCalException());
}
//TriAreaCalException类的代码为
//创建异常类必兆银须要继承exception类
public class TriAreaCalException extends Exception {
private static final long serialVersionUID=1L;
private String str;
public TriAreaCalException(){
this.str="Can not be a Triangle";
}
@Override
public void printStackTrace() {
// TODO Auto-generated method stub
//super.printStackTrace();
System.out.println(this.str);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String a = "12a5";
try{
int value = Integer.parseInt(a);
}catch(NumberFormatException exp){
throw new Exception("胡宏裤数绝迹字不合法,抛裤简出异常");
}
try{
int value = Integer.parseInt(a);
}catch(NumberFormatException exp){
throw new Exception("胡宏裤数绝迹字不合法,抛裤简出异常");
}
追问
这个,应该还有一种抛出的方法,我想知道那种。
public void f() throw xxx ,xxx。。。。
这种
追答
那种抛出要用throws
public void f() throws Exception{
String a = "12a5";
try{
int value = Integer.parseInt(a);
}catch(NumberFormatException exp){
throw new Exception("数字不合法,抛出异常");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
try{
/旦猛消/代码
}catch(知巧Exception e){
e.printStackTrace();
}finally{
//可模知有可无
}
/旦猛消/代码
}catch(知巧Exception e){
e.printStackTrace();
}finally{
//可模知有可无
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询