Userdefined exceptions are always Runtime and when you write your own exception then it should extend any java defined Runtime exceptions like Exception, FileNotFoundException etc.
Compile time errors are jdk level errors like syntax errors, identifier errors etc. Hope this helps.
Did you mean "Checked exception OR Unchecked exception"?
If either "RuntimeException re=new UserdefinedException(...)" or "Error ee=new UserdefinedException(...)" accepts without type error, UserdefinedException is unchecked exception; otherwise it is checked exception.
"Compile time exceptions" don't exist. The compiler can give an error if there is something wrong with your source code, but that does not have anything to do with Java exceptions.
Your own exceptions can be either checked or unchecked exceptions. If your own exception class extends Exception, then it is a checked exception. If it extends RuntimeException, then it is an unchecked exception.