Tag: exception

方法最终确定和例外

当GC从内存中回收一个对象时,GC忽略了exception,我不太清楚。 如果我有一个try/catch进入finalize方法,我看到它总是被执行…那么在哪些情况下不抛出exception? 谢谢。

Java绑定exception

什么会导致TCP套接字抛出“java.net.BindException:地址已在使用”,即使重用地址设置为true? 仅当应用程序快速重新启动时才会出现这种情况。 在CentOS 5 linux OS上运行。

Scala期货和`andThen`exception传播

我在scala.concurrent.Future模块中阅读了Scala 2.11.8和andThen函数的文档,它说如下: def andThen[U](pf: PartialFunction[Try[T], U]) (implicit executor: ExecutionContext): Future[T] 将副作用函数应用于此未来的结果,并返回具有此未来结果的新未来。 此方法允许强制执行回调以指定顺序执行。 请注意,如果链接的andThen回调之一抛出exception,则该exception不会传播到后续的andThen回调。 相反,后续的andThen回调将被赋予此未来的原始值。 我不确定它是什么意思是exception不会被传播, andThen也没有提供示例。 例如,如果我做这样的事情: Future.successful { throw new RuntimeException(“test”) } andThen { case _ => println(“test”) } 在Scala REPL中我得到: java.lang.RuntimeException: test … 32 elided 所以exception被传播了。 有人可以提供一个有意义的例子,这究竟意味着什么,以及是否安全使用andThen代码,我抛出exception,我想从中恢复。 谢谢。

如何生成堆栈跟踪?

程序中没有单个方法“知道”它在堆栈中的位置。 它所知道的只是它自己的小工作,它就是这样做并且回归。 因此,当抛出exception并打印堆栈跟踪时,这是从哪里来的? 是否隐含地在JVM中的每个应用程序旁边运行一个单独的Thread来监视程序的状态? 或者JVM本身是否拥有此信息,并且exception以某种方式在抛出时从中提取数据? 如果是这种情况之一,是否可以使用一些调用来检索堆栈跟踪(来自监视器线程或JVM) 而不抛出exception?

为什么用户定义的exception类在java中是首选/重要的?

当我们在Java中有系统定义的exception类时,为什么需要创建用户定义的exception类? 因为我的老师告诉我在我的项目中制作exception课程。 任何精心制作的例子都会很好。

当访问的属性或方法暂时不可用时抛出什么exception?

当被访问的属性或方法暂时不可用时抛出什么exception(因为它在对象的当前状态下没有意义)? 以下是我想到的一个半说明性的例子,不要太认真,如果你得到它,试着考虑问题本身。 具有numerator和denominator读写属性和quotient只读属性的fraction类。 如果denominator不等于0,那么quotient是返回numerator / denominator否则就是抛出一个exception,说明属性值没有定义/可用于对象的当前状态(请不要提供ArithmeticException或DivideByZeroException ,这个问题不是关于算术,它更接近有限状态机主题)。 另一个例子可以是类的对象在并行线程中执行一些复杂的计算并将结果作为字段提供 – 如果计算尚未完成,它可以抛出exception。 我对Java和.Net平台的答案很感兴趣。

无法有效地使用Java中的Multi Catch

我真的想使用Java-1.7的function。 其中一个function是“Multi-Catch”。 目前我有以下代码 try { int Id = Integer.parseInt(idstr); TypeInfo tempTypeInfo = getTypeInfo(String.valueOf(Id)); updateTotalCount(tempTypeInfo); } catch (NumberFormatException numExcp) { numExcp.printStackTrace(); } catch (Exception exception) { exception.printStackTrace(); } 我想从上面的代码中删除两个catch块,而是使用如下所示的单个catch: try { int Id = Integer.parseInt(idstr); TypeInfo tempTypeInfo = getTypeInfo(String.valueOf(Id)); updateTotalCount(tempTypeInfo); } catch (Exception | NumberFormatException ex) { // –> compile time error ex.printStackTrace(); } 但上面的代码给出了编译时错误: “NumberFormatException”已被替代Exception捕获。 […]

AutoCloseable的close方法抛出exception是否有意义? 应如何处理?

在C#中,在IDisposable的Dispose方法中抛出exception被认为是不好的做法 。 相比之下,在java中, AutoCloseable的close方法允许抛出任何exception并强制调用者以某种方式处理它。 但如果发生这种情况,合理预期的调用者会怎样做? 这表明关闭资源的尝试以某种方式失败了。 那么用户在继续之前是否必须尝试再次关闭资源,可能是某种指数退避?

为什么简单的select查询返回List 但是在jpa中连接查询返回List

我正在使用jpa的play框架。 我有一个带有2个函数的模型Jobads来查找all()findByLocation() 我的模特 public class Jobads { @Id @Column(name = “id”, nullable = false) @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String title; @ManyToOne private Jobindistry industry; @ManyToMany @JoinTable( name = “jobads_city”, joinColumns = {@JoinColumn(name = “jobads_id”, referencedColumnName = “id”)}, inverseJoinColumns = {@JoinColumn(name = “city_id”, referencedColumnName = “id”)}) private List city; } 找到所有() public static […]

AsycTask抛出IllegalStateException – 片段未附加到活动

我的Android应用程序中有以下AsyncTask。 此AsyncTask包含在扩展PreferenceFragment的类的OnCreate()方法中。 public class NotificationsPreferenceFragment extends PreferenceFragment { private static Context context; public NotificationsPreferenceFragment() { } public NotificationsPreferenceFragment(Context context) { this.context = context; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.pref_notifications); getPreferenceManager().findPreference(getString(R.string.send_all_notifications)) .setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { class NotificationSendTask extends DialogAsyncTask { public static final String TAG = “NotificationFragment”; public […]