首页   注册   登录
passerbytiny

passerbytiny

V2EX 第 336494 号会员,加入于 2018-07-27 14:05:23 +08:00
今日活跃度排名 796
根据 passerbytiny 的设置,主题列表只有在你登录之后才可查看
passerbytiny 最近回复了
OOP 的一大宣传点是,让程序员分成编写类库的程序员,和使用类库(编写业务)的程序员。随着时代的发展,这类程序员可能是平台开发与业务开发、游戏引擎开发与游戏开发、框架开发与应用开发、.NET Framework 开发与.NET 开发……但不管怎么分,总归是两类程序员,而不是给白痴弄拖拽工具的码农与用推拽工具生成系统的白痴。

可视化工具是用来加速编码的(通过将常见的——而非所有的——编码过程整理成快捷操作),而不是用来替代编码的。
8 天前
回复了 nikolausliu 创建的主题 问与答 放下屠刀,立地成佛?
你以为一朝醒吾就能放下屠刀,想得美。
8 天前
回复了 nikolausliu 创建的主题 问与答 放下屠刀,立地成佛?
我三十岁前杀人如麻,三十岁生日那天把屠刀扔了,因为万民已臣服,我以为我放下屠刀了,然而我只是收起了屠刀。
我三十岁前杀人如麻,三十岁生日那天把屠刀扔了,并开始吃斋,因为有人告诉我杀人是不对的,我要放下屠刀,但屠刀却不愿意。
我三十岁前杀人如麻,三十岁生日那天把屠刀绑在后背上再也没有拿下来,尽散一切,直到我什么都没有的时候,我把屠刀扔了。
Surface 全球只换不修,唯独中国大陆地区只修不换,但中国大陆地区刚上市的前两年也是只换不修的,就是被钻空子的人害的。全 TM 的一堆垃圾。
8 天前
回复了 Bean0cean 创建的主题 程序员 得亏了我们的年会没有取消
1 年半的“老”会员了,不知道上班时间不能看视频吗?
9 天前
回复了 ponelyr 创建的主题 商业模式 臆想:如果商品只有出厂价
你只想不与营销斗智斗勇,但你直接硬刚价值规律了——商品的价值(以及再此基础上的价格)都是受供需关系波动的。至于你提到的按需生产,那得生产线变成云生产线、工人变成云工人,才有可能实现。
9 天前
回复了 matepi 创建的主题 Java Java 的有个异常设计一直没理解
@shily #13 你这个对楼主来说不解决问题,楼主大概是在最外层有一个统一的异常处理,并不想在抛异常 /错误的地方进行解决。他大概率会写成这样:
static int i;
static {
try {
i = Integer.parseInt("e");
} catch (NumberFormatException nfe) {
throw new Exception(nfe);
}
}

然后编译都过不去,回过头来再表达“我很苦”。

@iFlicker #8 原则上是不能捕获 Error 的,他应该是在最上层捕获了 Throwable,或者不是捕获到而是程序中断后在日志中看到。
9 天前
回复了 matepi 创建的主题 Java Java 的有个异常设计一直没理解
@matepi #7 先讲技术,再找理由。

int i = Integer.parseInt(some 变量)才有可能出现异常,而在非演示目的的情况下写出来 int i = Integer.parseInt("e")这样的代码就是沙雕,所以此时抛出的是运行时异常——你无法避免它但是可以解决它。
static int i = Integer.parseInt("e")这明显是沙雕代码; static String someIntStr = "e"; static int i = Integer.parseInt( someIntStr )仍然是沙雕代码; static int i; void initOrUpdate(String aIntStrForInit){ if(Class.i == -1){ Class.i = Integer.parseInt(aIntStrForInit)} }会抛出 NumberFormatException:所以此时前两种情况抛出的是错误——你不能解决它而只能修改源代码区避免它

技术上来说:
一,框架或者库,不管是沙雕还是没考虑到而发生了致命错误,就该给对方抛出个 java.lang.Error,告诉对方这玩意你别解决了,等我解决或者用其它库。而不能是抛出个 java.lang.Exception 或者 java.lang.RuntimeException,告诉对方这玩意你自行解决或者不予理会。作为对方,你应该感谢对方抛了 Error 通知你,而不是抛个 Exception 掩盖致命错误。
二,前人的代码,不管是沙雕、不想干,还是什么乱起八糟的原因,发生致命错误的时候,就该给后人抛出个 java.lang.Error,告诉后人这玩意你别想在你自己的代码中解决了,重构我给你留的代码或者向上级撂挑子吧。作为后人,你应该感谢前人好心提醒你,而不是弄个 Exception 继续糊弄你。

技术上来说还可以简单的一句话:坑就在那里,你要过去就必须填坑;你把 Error 换成 Exception 并不能填坑,反而让你掉进去。

以上大概能解决你对“Never catch Throwable class”的疑问。

下面来说 static int i = Integer.parseInt("e");抛出 Error。

静态变量不是 new 对象的时候由 ClassLoader 设值的,而是 JVM 看到它的时候由 JVM 设值的,此时要是无法设值,那就是 JVM 级别的致命错误。你就算不考虑底层实现,在上层上看,给静态值设置值却设不上去,就像给人取名叫张三但“张三”这两个字有脾气一样,是致命错误。static SomeType someVariable = {一段有可能出错的代码},这是很危险的行为,抛出 Error 不足为怪。
@Livid 此人( @fanrong )引起严重不适
@fanrong 6 天前注册,昨天发第一帖但无回复,今天上来第一条回复就是鸡汤,你要干啥。

@luvxy 看了楼下的回复,现在让你走确实该 2N。现在的情况是大概是不想走辞退程序,给你补 0.5 个月让你辞职。那就耗着吧,不给正式辞退通知书,绝对不走。但是记得,一定不要签字。
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1962 人在线   最高记录 5168   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 12ms · UTC 06:44 · PVG 14:44 · LAX 22:44 · JFK 01:44
♥ Do have faith in what you're doing.