由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 太弱了,被小印两下就灭了
相关主题
A家电面面经请问,whizlabs scjp考试程序那个破解大家是在哪里找到的
请推荐一本复习JAVA/OO的好书(面试用)学了JAVA,找那个方面的工作要容易些啊?
问个bb的面试题如何准备bloomberg online test
帮看看这段code问一道java题
请教输入可能为null的处理方法我也请教一下proveit.com的Java tests
Trading Company Java developer求经验please recommend JAVA book
请教个java exception的问题what should I prepare for a 30-45 minute JAVA test?
问一道经典C++题零基础的别的专业的人想找CS的工作可能吗
相关话题的讨论汇总
话题: exception话题: throwable话题: catch话题: error话题: java
进入JobHunting版参与讨论
1 (共1页)
n*****e
发帖数: 76
1
就两java问题,第一个,啥时候用interface,啥时候用abstract class?举例子说明
。第二个,啥时候用throwable,啥时候用exception?两个都不知道怎么回答。
怎么才能快速提高java水平?请教大牛们。。。
d**********x
发帖数: 4083
2
先看看effective java啊。

【在 n*****e 的大作中提到】
: 就两java问题,第一个,啥时候用interface,啥时候用abstract class?举例子说明
: 。第二个,啥时候用throwable,啥时候用exception?两个都不知道怎么回答。
: 怎么才能快速提高java水平?请教大牛们。。。

n*****e
发帖数: 76
3
好的,马上就看

【在 d**********x 的大作中提到】
: 先看看effective java啊。
p*****2
发帖数: 21240
4

过两天让公司给买本看看。

【在 d**********x 的大作中提到】
: 先看看effective java啊。
l**b
发帖数: 457
5
head first java吧,然后随便考个SCJP,以后这种都不怕了。
1)需要多种继承关系的时候只能用interface,如果有需要继承到subclass里面的
instance variable的话,就只能用abstract class
2)exception是throwable的subclass,throwable包括了主要2种exception,一个必须
catch的,比如Exception,或者很多类型的IOException都是一定要catch的,另一种是
不一定要catch的,比如ArrayIndexOutOfBound,或者Integer除0的时候的Exception。
具体名字自己查吧。
仅供参考,大牛轻打。
p*****2
发帖数: 21240
6

一直不明白为什么一定要catch呢?主要是出于什么目的?

【在 l**b 的大作中提到】
: head first java吧,然后随便考个SCJP,以后这种都不怕了。
: 1)需要多种继承关系的时候只能用interface,如果有需要继承到subclass里面的
: instance variable的话,就只能用abstract class
: 2)exception是throwable的subclass,throwable包括了主要2种exception,一个必须
: catch的,比如Exception,或者很多类型的IOException都是一定要catch的,另一种是
: 不一定要catch的,比如ArrayIndexOutOfBound,或者Integer除0的时候的Exception。
: 具体名字自己查吧。
: 仅供参考,大牛轻打。

l***i
发帖数: 1309
7
signature里面写throw xxxException主要是给caller一个机会handle Exception吧,
其实caller也
可以直接不管然后在自己的signature里面照抄那个Exception就好了.不过看名字感觉
Throwable像个interface阿。java里面还有什么xxxable是class么?
大牛出来指点一下
p*****2
发帖数: 21240
8

明白。就是把Exception更规范话了,虽然代码比较恶心了。Throwable确实听起来像
interface.

【在 l***i 的大作中提到】
: signature里面写throw xxxException主要是给caller一个机会handle Exception吧,
: 其实caller也
: 可以直接不管然后在自己的signature里面照抄那个Exception就好了.不过看名字感觉
: Throwable像个interface阿。java里面还有什么xxxable是class么?
: 大牛出来指点一下

l**b
发帖数: 457
9
一个简单的实例,如果JDBC的connection你不close,中间出了Exception,那个
connection怎么说?
所以大家如果用JDBC的时候都这么写:
Connection con = null;
try {
con = connectionPool.getConnection();
// Do sth with your connection
} finally {
if (con != null) try { con.close(); } catch (Exception e) {}
}
当然,现在java的这个exception handling的model有很多人反对,因为觉得根本就是
waste of time,比如上面这个例子,你只能close那个connection,其他没就没有任何
事情可以做了。所以很多人现在完全不用try catch。有一些更好的pattern可以用,上
面这个例子在scala里面就可以用loan pattern。Java里面应该可以直接用pool就解决
了。

【在 p*****2 的大作中提到】
:
: 明白。就是把Exception更规范话了,虽然代码比较恶心了。Throwable确实听起来像
: interface.

l**b
发帖数: 457
10
Throwable肯定是interface,所有的exception都可以自己handle,也可以throw给
calling method。这个看你具体的需求吧。
exception是泛指,Exception是指java class

【在 l***i 的大作中提到】
: signature里面写throw xxxException主要是给caller一个机会handle Exception吧,
: 其实caller也
: 可以直接不管然后在自己的signature里面照抄那个Exception就好了.不过看名字感觉
: Throwable像个interface阿。java里面还有什么xxxable是class么?
: 大牛出来指点一下

相关主题
Trading Company Java developer求经验请问,whizlabs scjp考试程序那个破解大家是在哪里找到的
请教个java exception的问题学了JAVA,找那个方面的工作要容易些啊?
问一道经典C++题如何准备bloomberg online test
进入JobHunting版参与讨论
p*****2
发帖数: 21240
11

主要是我写code的时候图方便不想管的那么细。但是用到java的一些函数必须让我try
catch,或者函数throw。我是觉得,我是图快,有exception,你把我程序crash就可以
了。我不care。感觉这东西就Java有吧?C#是不是也没有?

【在 l**b 的大作中提到】
: 一个简单的实例,如果JDBC的connection你不close,中间出了Exception,那个
: connection怎么说?
: 所以大家如果用JDBC的时候都这么写:
: Connection con = null;
: try {
: con = connectionPool.getConnection();
: // Do sth with your connection
: } finally {
: if (con != null) try { con.close(); } catch (Exception e) {}
: }

T****U
发帖数: 3344
12
1) abstract class 可以有non-abstract method and variable
2) 只有checked exception才必须declare, 倒不一定catch, 可以throw给下家。具体必
须用throwable的地方还真不多,因为exception可以随便定义的
估计只有不知道调用程序会出来个什么东西时,才需要catch throwable

【在 l**b 的大作中提到】
: head first java吧,然后随便考个SCJP,以后这种都不怕了。
: 1)需要多种继承关系的时候只能用interface,如果有需要继承到subclass里面的
: instance variable的话,就只能用abstract class
: 2)exception是throwable的subclass,throwable包括了主要2种exception,一个必须
: catch的,比如Exception,或者很多类型的IOException都是一定要catch的,另一种是
: 不一定要catch的,比如ArrayIndexOutOfBound,或者Integer除0的时候的Exception。
: 具体名字自己查吧。
: 仅供参考,大牛轻打。

T****U
发帖数: 3344
13
不露棒?

try

【在 p*****2 的大作中提到】
:
: 主要是我写code的时候图方便不想管的那么细。但是用到java的一些函数必须让我try
: catch,或者函数throw。我是觉得,我是图快,有exception,你把我程序crash就可以
: 了。我不care。感觉这东西就Java有吧?C#是不是也没有?

l**b
发帖数: 457
14
C#很久很久不用了,但是我记得我和我一个同学说过这个东西,我同学和我说的是C#里
面的exception都是相当于java里面的throwable,不一定要catch的,而且method里面
也不会声明有那个exception会被thrown
都赖,现在真的老老实实写try catch的很少,一般都直接在method里面继续throws

try

【在 p*****2 的大作中提到】
:
: 主要是我写code的时候图方便不想管的那么细。但是用到java的一些函数必须让我try
: catch,或者函数throw。我是觉得,我是图快,有exception,你把我程序crash就可以
: 了。我不care。感觉这东西就Java有吧?C#是不是也没有?

c********t
发帖数: 5706
15
查了一下,Throwable竟然是class

【在 l**b 的大作中提到】
: Throwable肯定是interface,所有的exception都可以自己handle,也可以throw给
: calling method。这个看你具体的需求吧。
: exception是泛指,Exception是指java class

p*****2
发帖数: 21240
16

啥意思呀?

【在 T****U 的大作中提到】
: 不露棒?
:
: try

c********t
发帖数: 5706
17
嗯,是的。实在不能throws的时候,我用catch (Exception e)代替catch各种type,然
后基本上啥都不做,或者只是 printStackTrace。我绝对懒人一个。
Throwable没用过。 :(

【在 l**b 的大作中提到】
: C#很久很久不用了,但是我记得我和我一个同学说过这个东西,我同学和我说的是C#里
: 面的exception都是相当于java里面的throwable,不一定要catch的,而且method里面
: 也不会声明有那个exception会被thrown
: 都赖,现在真的老老实实写try catch的很少,一般都直接在method里面继续throws
:
: try

c********t
发帖数: 5706
18
not robust!

【在 p*****2 的大作中提到】
:
: 啥意思呀?

p*****2
发帖数: 21240
19

参加比赛还要啥robust呀。速度至上。

【在 c********t 的大作中提到】
: not robust!
l**b
发帖数: 457
20
NB,明显违反了Java的命名规则。

【在 c********t 的大作中提到】
: 查了一下,Throwable竟然是class
相关主题
问一道java题what should I prepare for a 30-45 minute JAVA test?
我也请教一下proveit.com的Java tests零基础的别的专业的人想找CS的工作可能吗
please recommend JAVA bookBloomberg Java的online test
进入JobHunting版参与讨论
n*****e
发帖数: 76
21
确实是class,从来不用的以前,到现在还没搞明白到底区别在哪里,小印太狠了

【在 c********t 的大作中提到】
: 查了一下,Throwable竟然是class
p*****2
发帖数: 21240
22
刚才看了一下书,还没明白。到底什么时候用throwable呢?
l**b
发帖数: 457
23
个人感觉,你的app需要处理所有的exception的时候,你可以try catch Throwable,
还有就是你要自己写unchecked exception的时候也要继承Throwable。其他就没什么用
了,一般写library的会用到比较多,如果是写application的,一般很伤会用到
throwable,但是我们在写一些service什么的时候会习惯catch 所有的Throwable然后
log一下看看是什么。

【在 p*****2 的大作中提到】
: 刚才看了一下书,还没明白。到底什么时候用throwable呢?
l*****a
发帖数: 14598
24
throwable包括两种
一种是Error另一种是Exception
你说的checked exception/unchecked exception

【在 l**b 的大作中提到】
: head first java吧,然后随便考个SCJP,以后这种都不怕了。
: 1)需要多种继承关系的时候只能用interface,如果有需要继承到subclass里面的
: instance variable的话,就只能用abstract class
: 2)exception是throwable的subclass,throwable包括了主要2种exception,一个必须
: catch的,比如Exception,或者很多类型的IOException都是一定要catch的,另一种是
: 不一定要catch的,比如ArrayIndexOutOfBound,或者Integer除0的时候的Exception。
: 具体名字自己查吧。
: 仅供参考,大牛轻打。

l**b
发帖数: 457
25
嗯,大牛给的更加准确,我已经全部还给书本了。

【在 l*****a 的大作中提到】
: throwable包括两种
: 一种是Error另一种是Exception
: 你说的checked exception/unchecked exception

l***i
发帖数: 1309
26
二爷您看看那几个知名的java topcoder, petr, Egor, uwi啥的,人家不仅搞得快,
而且各项指标包括readability, variable naming都不会偷懒的。

【在 p*****2 的大作中提到】
: 刚才看了一下书,还没明白。到底什么时候用throwable呢?
p*****2
发帖数: 21240
27

如果java没有这死限制不是可以更快吗?有了这个限制反而影响了readability。

【在 l***i 的大作中提到】
: 二爷您看看那几个知名的java topcoder, petr, Egor, uwi啥的,人家不仅搞得快,
: 而且各项指标包括readability, variable naming都不会偷懒的。

p*****2
发帖数: 21240
28

不过他们可能有模版,所以也无所谓。

【在 l***i 的大作中提到】
: 二爷您看看那几个知名的java topcoder, petr, Egor, uwi啥的,人家不仅搞得快,
: 而且各项指标包括readability, variable naming都不会偷懒的。

p*****2
发帖数: 21240
29

那到底什么时候用throwable呢?

【在 l**b 的大作中提到】
: 嗯,大牛给的更加准确,我已经全部还给书本了。
y*******g
发帖数: 6599
30
Exception的解释不太对,你说的是checked和unchecked exception, unchecked
exception是runtimeexeption和subclass
不是throwable.

【在 l**b 的大作中提到】
: head first java吧,然后随便考个SCJP,以后这种都不怕了。
: 1)需要多种继承关系的时候只能用interface,如果有需要继承到subclass里面的
: instance variable的话,就只能用abstract class
: 2)exception是throwable的subclass,throwable包括了主要2种exception,一个必须
: catch的,比如Exception,或者很多类型的IOException都是一定要catch的,另一种是
: 不一定要catch的,比如ArrayIndexOutOfBound,或者Integer除0的时候的Exception。
: 具体名字自己查吧。
: 仅供参考,大牛轻打。

相关主题
请问设计一个虚拟的动物园,用什么设计模式好啊?请推荐一本复习JAVA/OO的好书(面试用)
one C/C++ question问个bb的面试题
A家电面面经帮看看这段code
进入JobHunting版参与讨论
y*******g
发帖数: 6599
31
著名的outofmemoryerror就是throwable啊..我也听不明白为什么要有这个。

【在 c********t 的大作中提到】
: 嗯,是的。实在不能throws的时候,我用catch (Exception e)代替catch各种type,然
: 后基本上啥都不做,或者只是 printStackTrace。我绝对懒人一个。
: Throwable没用过。 :(

p*****2
发帖数: 21240
32

outofmemoryerror是Error吗?就是lolhaha讲的那个。Throwable 有两个子类,Error和
Exception

【在 y*******g 的大作中提到】
: 著名的outofmemoryerror就是throwable啊..我也听不明白为什么要有这个。
y*******g
发帖数: 6599
33
是啊,我唯一能想到throwable的作用就是这个。。在catch(Exception)的时候照样用
oom来crash app

【在 p*****2 的大作中提到】
:
: outofmemoryerror是Error吗?就是lolhaha讲的那个。Throwable 有两个子类,Error和
: Exception

p*****2
发帖数: 21240
34

所以应该catch(Throwable)? 这样error, exception全catch住了。
那一般写production code是不是主要是catch exception呢?

【在 y*******g 的大作中提到】
: 是啊,我唯一能想到throwable的作用就是这个。。在catch(Exception)的时候照样用
: oom来crash app

l*****a
发帖数: 14598
35
对,I just learned from scjp
Error是那种你没法处理的exception
your app won't be able to recover from a Error

【在 p*****2 的大作中提到】
:
: 所以应该catch(Throwable)? 这样error, exception全catch住了。
: 那一般写production code是不是主要是catch exception呢?

t*******2
发帖数: 292
36
比如除以0?

【在 l*****a 的大作中提到】
: 对,I just learned from scjp
: Error是那种你没法处理的exception
: your app won't be able to recover from a Error

p*****2
发帖数: 21240
37

我今天也看了一下这个。
不过刚才yangcheng的意思catch(Throwable)就可以catch Error?

【在 l*****a 的大作中提到】
: 对,I just learned from scjp
: Error是那种你没法处理的exception
: your app won't be able to recover from a Error

y*******g
发帖数: 6599
38
不知道什么是best:(
一般发生了unchecked exception, error什么说明的确有code问题吧?还是应该fix,
不代表catch了就能continue. 当然最近我某一段code的确没什么办法,在太烂的手机
上某个功能就是容易出outofMemory 而且没有leak。只好catch了 。我commit的时候觉
得很愧疚

【在 p*****2 的大作中提到】
:
: 我今天也看了一下这个。
: 不过刚才yangcheng的意思catch(Throwable)就可以catch Error?

y*******g
发帖数: 6599
39
这个算什么无法recover啊 连exception都不是

【在 t*******2 的大作中提到】
: 比如除以0?
p*****2
发帖数: 21240
40

貌似dividedbyzero是exception, 我刚才试了试,可以catch

【在 y*******g 的大作中提到】
: 这个算什么无法recover啊 连exception都不是
相关主题
帮看看这段code请教个java exception的问题
请教输入可能为null的处理方法问一道经典C++题
Trading Company Java developer求经验请问,whizlabs scjp考试程序那个破解大家是在哪里找到的
进入JobHunting版参与讨论
p*****2
发帖数: 21240
41

刚才verify了,就是这个意思。

【在 p*****2 的大作中提到】
:
: 貌似dividedbyzero是exception, 我刚才试了试,可以catch

y*******g
发帖数: 6599
42
整数是,浮点不是

【在 p*****2 的大作中提到】
:
: 刚才verify了,就是这个意思。

p*****2
发帖数: 21240
43

浮点数貌似不是非法操作呀

【在 y*******g 的大作中提到】
: 整数是,浮点不是
y*******g
发帖数: 6599
44
恩 我就是这个意思。浮点连exception都不是。没想到整数是。。learnt something
new

【在 p*****2 的大作中提到】
:
: 浮点数貌似不是非法操作呀

p*****2
发帖数: 21240
45

主要是整数不能代表无限吗?

【在 y*******g 的大作中提到】
: 恩 我就是这个意思。浮点连exception都不是。没想到整数是。。learnt something
: new

x*****p
发帖数: 1707
46
Observable is also a class.

【在 l***i 的大作中提到】
: signature里面写throw xxxException主要是给caller一个机会handle Exception吧,
: 其实caller也
: 可以直接不管然后在自己的signature里面照抄那个Exception就好了.不过看名字感觉
: Throwable像个interface阿。java里面还有什么xxxable是class么?
: 大牛出来指点一下

x*****p
发帖数: 1707
47
Interface is used everywhere. A good example to use abstract class is to use
the GoF pattern called Template Method. Prototype pattern can also use
abstract class.
w**z
发帖数: 8232
48
Java7, can catch multiple exception, add support for resource mgr, reduce
a lot of boilerplate.

【在 c********t 的大作中提到】
: 嗯,是的。实在不能throws的时候,我用catch (Exception e)代替catch各种type,然
: 后基本上啥都不做,或者只是 printStackTrace。我绝对懒人一个。
: Throwable没用过。 :(

b***i
发帖数: 3043
49
看来大家都不是很懂exception的目的。
exception其非常重要的目的是不通过原来的return返回,就是说提供了另外的返回机
制。比如你evaluate一个表达式 a = f(x,t); 结果f里面遇到一个问题,1/0, 你说a
到底应该等于几呢?
假设这个表达式在程序运行的时候,由一个循环从文件里面读取数据,其中通过多层函
数调用到达了那个表达式求值的地方。那么,一个很好的处理办法就是,在表达式求值
得地方或者f里面检查问题,throw 一个你定义的意义更明确的Exception的子类,在外
层那个循环catch这个Exception的子类,然后程序就不用给a 赋值了,而是直接跳出九
重天,回到可以控制的地方,告诉用户文件里面有问题。这样,你在外层循环到表达式
求值之间的层都不catch,留给最外层catch。catch之后,显然不是crash,而是显示一
个错误信息,然后等待用户重新调入文件,等办法。

try

【在 p*****2 的大作中提到】
:
: 主要是整数不能代表无限吗?

p*****2
发帖数: 21240
50
关键是我就是想crash呀

【在 b***i 的大作中提到】
: 看来大家都不是很懂exception的目的。
: exception其非常重要的目的是不通过原来的return返回,就是说提供了另外的返回机
: 制。比如你evaluate一个表达式 a = f(x,t); 结果f里面遇到一个问题,1/0, 你说a
: 到底应该等于几呢?
: 假设这个表达式在程序运行的时候,由一个循环从文件里面读取数据,其中通过多层函
: 数调用到达了那个表达式求值的地方。那么,一个很好的处理办法就是,在表达式求值
: 得地方或者f里面检查问题,throw 一个你定义的意义更明确的Exception的子类,在外
: 层那个循环catch这个Exception的子类,然后程序就不用给a 赋值了,而是直接跳出九
: 重天,回到可以控制的地方,告诉用户文件里面有问题。这样,你在外层循环到表达式
: 求值之间的层都不catch,留给最外层catch。catch之后,显然不是crash,而是显示一

相关主题
学了JAVA,找那个方面的工作要容易些啊?我也请教一下proveit.com的Java tests
如何准备bloomberg online testplease recommend JAVA book
问一道java题what should I prepare for a 30-45 minute JAVA test?
进入JobHunting版参与讨论
l**b
发帖数: 457
51
try {
int i = 1 / 0;
} catch (Throwable t) {
System.out.println("Major error, dude!", t);
System.exit(-1);
}

【在 p*****2 的大作中提到】
: 关键是我就是想crash呀
p*****2
发帖数: 21240
52

啥意思?

【在 l**b 的大作中提到】
: try {
: int i = 1 / 0;
: } catch (Throwable t) {
: System.out.println("Major error, dude!", t);
: System.exit(-1);
: }

l**b
发帖数: 457
53
crash了。

【在 p*****2 的大作中提到】
:
: 啥意思?

p*****2
发帖数: 21240
54

不能catch吗?

【在 l**b 的大作中提到】
: crash了。
1 (共1页)
进入JobHunting版参与讨论
相关主题
零基础的别的专业的人想找CS的工作可能吗请教输入可能为null的处理方法
Bloomberg Java的online testTrading Company Java developer求经验
请问设计一个虚拟的动物园,用什么设计模式好啊?请教个java exception的问题
one C/C++ question问一道经典C++题
A家电面面经请问,whizlabs scjp考试程序那个破解大家是在哪里找到的
请推荐一本复习JAVA/OO的好书(面试用)学了JAVA,找那个方面的工作要容易些啊?
问个bb的面试题如何准备bloomberg online test
帮看看这段code问一道java题
相关话题的讨论汇总
话题: exception话题: throwable话题: catch话题: error话题: java