在應用程序中我提出使用AWT標準類,以顏色的呼叫構造引發以下異常消息:如何更改java標準類引發的Exception消息?
運行:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Color parameter outside of expected range: Red
at java.awt.Color.testColorValueRange(Color.java:310)
at java.awt.Color.<init>(Color.java:395)
at java.awt.Color.<init>(Color.java:369)
at mandelbrotset.DrawingArea.translateColor(DrawingArea.java:106)
at mandelbrotset.DrawingArea.drawMandelbrotSet(DrawingArea.java:75)
at mandelbrotset.DrawingArea.paintComponent(DrawingArea.java:45)
at javax.swing.JComponent.paint(JComponent.java:1054)
有任何方法來改變這種消息(包括在此情況下紅色分量的值)?
我想定義擴展Color
並引發在構造函數中修改異常的新類NewColor
的,但新類的構造函數必須調用開始super(red, green, blu)
等標準testColorValueRange(int r, int g, int b, int a)
被稱爲和標準的異常被拋出。
感謝您的任何幫助。
你總是可以發現異常。否則,你可以修改字節碼,這在覈心類中會嚇到我。 – 2012-01-16 15:05:57
您不能讓Java在JDK代碼中使用您的'NewColor'類,只會爲您自己創建的實例獲取新消息。此外,'testColorValueRange'似乎是'private',所以無論如何你都不能覆蓋它。爲什麼不只是記錄你傳遞給引發異常的構造函數的參數? – millimoose 2012-01-16 15:07:23
你在哪裏調用'new Color()'?你不能在創建對象之前檢查值嗎?或者只是使用調試器? – Viruzzo 2012-01-16 15:08:26