回答編集履歴

2

例外について追記

2018/05/07 02:33

投稿

KSwordOfHaste
KSwordOfHaste

スコア18392

test CHANGED
@@ -93,3 +93,73 @@
93
93
  + FXMLExampleController.java
94
94
 
95
95
  ```
96
+
97
+ ---
98
+
99
+ 05/07 11:00追記
100
+
101
+ (5) 例外のスタックトレースの省略について
102
+
103
+ 特にfxmlローディング時の例外では例外が何段階にもcatchされている関係で重要な情報(大元の例外発生情報)がトレースの下の方にあります。長いためスタックトレースの上の部分のみ記載されていると思いますが、スタックトレースの途中にある重要な点に絞って記載していただくと状況が伝わり易くなります。
104
+
105
+ 特に重要な行は以下ですが、できるだけそれ以外も省略しない方が望ましいです。
106
+
107
+
108
+
109
+ - 例外のメッセージ(行頭に`*`を付けておきました)
110
+
111
+ - その直後のスタックトレース(行頭に`+`を付けておきました)
112
+
113
+ - アプリケーションに含まれるクラス・メソッドのスタックトレース(行頭に`@`を付けておきました)
114
+
115
+
116
+
117
+ 例えば以下ですと一番重要な情報は`Caused by: ~.InaccessibleObjectException: Unable to make field private ~.Text ~.FXMLExampleController.actiontarget accessible: module fxmlexample does not "opens fxmlexample" to module javafx.fxml`なのです。
118
+
119
+
120
+
121
+ ```
122
+
123
+ *Exception in Application start method
124
+
125
+ *java.lang.reflect.InvocationTargetException
126
+
127
+ + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
128
+
129
+ at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
130
+
131
+ ...JRE内のメソッドの例外トレースを一部省略
132
+
133
+ at java.base/java.lang.Thread.run(Thread.java:844)
134
+
135
+ *Caused by: javafx.fxml.LoadException:
136
+
137
+ */C:/idea2016-3/Jfx10/out/production/Jfx10/fxmlexample/fxml_example.fxml:32
138
+
139
+
140
+
141
+ + at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2625)
142
+
143
+ ...JRE内のメソッドの例外トレースを一部省略
144
+
145
+ @ at fxmlexample/fxmlexample.FXMLExample.start(FXMLExample.java:17)
146
+
147
+ ...JRE内のメソッドの例外トレースを一部省略
148
+
149
+ ... 1 more
150
+
151
+ *Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private javafx.scene.text.Text fxmlexample.FXMLExampleController.actiontarget accessible: module fxmlexample does not "opens fxmlexample" to module javafx.fxml
152
+
153
+ + at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:337)
154
+
155
+ ...JRE内のメソッドの例外トレースを一部省略
156
+
157
+ at
158
+
159
+ javafx.fxml/javafx.fxml.FXMLLoader$ControllerAccessor.getControllerFields(FXMLLoader.java:3394)
160
+
161
+ ... 17 more
162
+
163
+ Exception running application fxmlexample.FXMLExample
164
+
165
+ ```

1

見易さの訂正

2018/05/07 02:32

投稿

KSwordOfHaste
KSwordOfHaste

スコア18392

test CHANGED
@@ -40,13 +40,13 @@
40
40
 
41
41
  (1)コード用のマークダウン
42
42
 
43
- 本サイトでプログラムコードを記載するにはマークダウン記法を使う必要があります。https://teratail.com/help#about-markdownよく読み「コードを入力の」を参考にして質問を編集してい。
43
+ 本サイトでプログラムコードを記載するにはマークダウン記法を使う必要があります。[https://teratail.com/help#about-markdown](https://teratail.com/help#about-markdown)参照の上「コードを入力の」を参考にして質問を編集していたけるようお願します
44
44
 
45
45
 
46
46
 
47
47
  (2)コンパイル手順の詳細の明記
48
48
 
49
- IDEを使っておられないと思います。javacをどのディレクトリーからどのコマンドラインオプションで実行したかの詳細を明記しないことにはどんなクラスファイルが出来ているか曖昧です。IDEを使わないのでしたらjavacの手順詳細の明記は必須だと思います。
49
+ IDEを使っておられないと思います。javacをどのディレクトリーからどのコマンドラインオプションで実行したかの詳細を明記しないことにはどんなクラスファイルが出来ているか曖昧です。IDEを使わないのでしたらjavacの手順詳細の明記は必須だと思います。(本件はあえてIDEを使っておられないのかも知れませんが...)
50
50
 
51
51
 
52
52