Closed LukasSiefke closed 4 years ago
Wenn ich es richtig verstehe, muss man beim Logger was verändert werden oder?
Ne, die nvrtcException muss geändert werden, sodass sowohl die Fehlernachricht als auch die Fehlerbeschreibung mit e.what()
ausgegeben werden.
hier https://github.com/ZerataX/yacx/blob/master/src/Program.cpp#L62
sollte ne nvrtcException
mit m_log
als descripton erstellt werden
Soll m_log bei NVRTC_SAFE_CALL mit übergeben werden? Ich frage, weil ich wüsste nicht, wie man nur von einem enum als Übergabeparameter m_log bekommen sollte. Bzw. was ist m_log genau?
m_log
ist er kompilierungs log e.g.:
saxpy(4): error: identifier "m"
also würde man eher so was wie
throw nvrtcResultException(compileResult, m_log)
Ich würde dann nvrtcResultException erweitern, sodass man ein String reingeben kann, und eine NVRTC_SAFE_CALL_LOG Fkt hinzufügen, sodass man nur "NVRTC_SAFE_CALL_LOG(compileResult, m_log);" einzugeben braucht.
Hier ist meine Pull-Request für die Änderung https://github.com/ZerataX/yacx/pull/106
neben bei wofür sind eig diese printf statements? https://github.com/ZerataX/yacx/blob/master/include/yacx/Exception.hpp#L97
Der Sinn der printfs sind, dass sie anzeigen, wann eine Exception erstellt worden ist. Falls man diese abfängt und anderweitig behandelt, kann man immernoch im Programmablauf nachvollziehen, wann welche Exceptions aufgetreten sind. Ich kann sie auch rausnehmen, falls es nicht gewünscht ist. PS: Ich glaube, ich habe vorhin zu früh gemerged. Es stand approved und ich habe überlesen, dass Lukas noch nicht approved hat. Soll ich diesen Knoten nochmal öffnen oder passt es?
Glaube nicht, dass lukas das stört tbh. naja wir haben halt nen logger damit wir nur wenn benötigt sowas angezeigt bekommen
Ok, ich nehme sie dann raus
du kannst halt auch den logger dann dort benutzen, wenn du sie hilfreich findest
Wenn man mit nvrtc etwas kompiliert wird bisher eine Exception geworfen mit der Fehlerbeschreibung (z.B.
NVRTC_ERROR_COMPILATION
). Es wäre ganz nützlich, wenn man aber auch die Fehlernachricht (z.B.saxpy(4): error: identifier "m" is undefined
) in die nvrtcException rein tun könnte, damit man, wenn man das JNI benutzt, auch die Fehlernachricht bekommt, die bisher nur mit dem Logger ausgegeben wird.