简体   繁体   English

堆栈溢出错误?

[英]stack overflow error?

I was working on an accounts application.我正在处理一个帐户应用程序。 when I tried to run the invoice form something called stack overflow exception occurred...tell me what to do about it.. everything was fine I suppose before I declared an invoice object in Stock class.当我尝试运行发票表单时,发生了一种称为堆栈溢出异常的事情......告诉我该怎么做......在我宣布发票 object 库存 class 之前,我想一切都很好。 this was output...这是 output...

run:
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
    at sun.awt.Win32GraphicsConfig.getBounds(Native Method)
    at sun.awt.Win32GraphicsConfig.getBounds(Win32GraphicsConfig.java:215)
    at java.awt.Window.init(Window.java:394)
    at java.awt.Window.<init>(Window.java:433)
    at java.awt.Frame.<init>(Frame.java:403)
    at java.awt.Frame.<init>(Frame.java:368)
    at javax.swing.JFrame.<init>(JFrame.java:158)
    at Invoice.<init>(Invoice.java:10)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)

    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
    at Stock.<init>(Stock.java:670)
    at Invoice.<init>(Invoice.java:1135)
BUILD SUCCESSFUL (total time: 5 seconds)

In the Invoice constructor, you're creating a new Stock object (in line 1135).Invoice构造函数中,您将创建一个新的Stock object(在第 1135 行)。

In the Stock constructor, you're creating a new Invoice object (in line 670).Stock构造函数中,您将创建一个新的Invoice object(在第 670 行)。

In the Invoice constructor, you're creating a new Stock object (in line 1135).Invoice构造函数中,您将创建一个新的Stock object(在第 1135 行)。

and so on and on, until you reach the maximum stack depth.以此类推,直到达到最大堆栈深度。 You need to figure out which one of Invoice and Stock should automatically create new instances of the other, or create the objects and then assign them to each other.您需要确定InvoiceStock中的哪一个应该自动创建另一个的新实例,或者创建对象然后将它们分配给彼此。

Well.. We need to see some code before we can answer you, but stackoverflow exceptions usually happens when you have some code calling itself without ever ending (Recursion, without progress).好吧..我们需要先查看一些代码才能回答您,但是当您有一些代码无休止地调用自身(递归,没有进度)时,通常会发生 stackoverflow 异常。 So you should look at your code, and find out under what conditions it should terminate the loop, and why it doesnt do that yet:)所以你应该看看你的代码,并找出它应该在什么条件下终止循环,以及为什么它还没有这样做:)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM