[Question]
  [
Your task is to make a quine, that is a non-empty computer program that prints it's own source without reading it. In addition if you remove any one byte from your original program the new program should print the source of your original program.
This is [code-golf](/questions/tagged/code-golf "show questions tagged 'code-golf'") so answers are scored in bytes with fewer bytes being better.
  
[Answer]
# [Gol><>](https://github.com/Sp3000/Golfish), ~~49~~ 45 bytes
```
<<H~Kla}\`q%2l}}ss2"<\
<<H~Kla}\`q%2l}}ss2"<\
```
[Try it online!](https://tio.run/##S8/PScsszvj/38bGo847J7E2JqFQ1Sintra42EjJJoYLu/D//wA "Gol><> – Try It Online")
[Verification!](https://tio.run/##fVHBUsIwFDw3X/HEcdIMWga8VbjoxRmPHoHRTJvSN5YkJikMB/z1@gIUPKi3vGR3s7vP7kJt9H2Ha2tcAOOZdWbl5Bpm4Djn3XT6/PXSyP3i/fNm0uz33k8G0wX7/bojxnyc342XJIM6pPxxFxQUptUh57fQKJ2e9DOlC1OqlEtfIHIhBGOlqsC1@q0xPrydcD1e5CzZYqjBWBLhkUuCfMsFSA8VvSZVtnUY1JnBEqdC6zSlyuyBVg3sMS@MjA2jlWkq9PXIu6I/Z3YHUXsgMqdkmZIr04ZYxl@@GEVVm6daOkJx/sBYZRwgoAYn9UqlP0KLmAIrOI1zXMLVDHp@DnANrx9oAUulAxayIS/aq6INuKEaCSOLoJynsP@7muckPbz8MxznS@ojOW6FuHGQ3qu486g067EH0DnPxSjrvgE)
I did this in Gol><> rather than ><> because the former has the handy `K` operator that copies the top `n` items on the stack, which makes duplicating the clean copy of the source code easier.
### Explanation:
This works by having two copies of the executing code, and redirecting to the second one if the first is damaged. This fails when the last `\` or the middle newline is removed, both of which are compensated for later.
```
<<                       Redirect left 
                    <\  Switch to other source code if this line is irradiated
                   "     Push source with wrapping string literal
                ss2      Push quote
              }}         Move "< to end
          q%2l           If the length of the stack is not right
        \`               Push an extra \
       }                 Move the \ to the end
      a                  Newline
    Kl                   Duplicate the stack
   ~                     Pop the extra newline
  H                      Halt and print stack
```
[Answer]
# [Vyxal](https://github.com/Vyxal/Vyxal) `D`, ~~73~~ 51 bytes
```
`#Ėß₂:ṘQ,…+ṘẎ7:Ṙq`Ṙ:₂ßĖ#`
`#Ėß₂:ṘQ,…+ṘẎ7:Ṙq`Ṙ:₂ßĖ#`
```
[Try it Online!](https://vyxal.pythonanywhere.com/#WyJEIiwiIiwiYCPElsOf4oKCOuG5mFEs4oCmK+G5mOG6jjc64bmYcWDhuZg64oKCw5/EliNgXG5gI8SWw5/igoI64bmYUSzigKYr4bmY4bqONzrhuZhxYOG5mDrigoLDn8SWI2AiLCIiLCIiXQ==)
```
`#Ėß₂:ṘQ,…+ṘẎ7:Ṙq`        # push this string to the stack 
                  Ṙ:      # reverse the string and push a copy 
                    ₂ßĖ   # execute the top if the length is even
# EXECUTION at this point the stack is [ qṘ:7ẎṘ+…,QṘ:₂ßĖ# ]
               Ṙq         # quote and revert => [ `#Ėß₂:ṘQ,…+ṘẎ7:Ṙq` ]
            Ẏ7:           # get the 7 first char => [ `#Ėß₂:ṘQ,…+ṘẎ7:Ṙq` , `#Ėß₂:Ṙ ]
          +Ṙ              # revert and add => [`#Ėß₂:ṘQ,…+ṘẎ7:Ṙq`Ṙ:₂ßĖ#`]
       Q,…                # print, reprint and quit
 #Ėß₂:Ṙ                   # does nothing since the program ended
# END OF EXECUTION
                       #` # comment
```
When any char of the string is removed `₂ß` prevents the execution
* if a ```` is removed, no code of the line will execute because the line will be either comented, either one single string either a mix of both and no execute fire
* if `₂` is removed, the code will execute normally (as the deletion is not in the string)
* if any of `Ṙ:ßĖ` is removed, the code will be either equal to `0`, `1`, a commented code or there will be no execution. This has no incidence and the code will executein the second line
In any case the first execute will either have the string untouched or a string without incidence, in wich case, the second execute will have the string untouched.
The program ends at the first sucessful execute since there is a quit instruction in the string
[Answer]
# [Klein](https://github.com/Wheatwizard/Klein) 000, ~~196~~ ~~190~~ ~~176~~ ~~144~~ 138 bytes
```
<<+55.?.?.?(48*2+56*2*59*!(2+)?!@!?)+2(!*95*2*65+2*84(?.?.?.55+<<"</
<<+55.?.?.?(48*2+56*2*59*!(2+)?!@!?)+2(!*95*2*65+2*84(?.?.?.55+<<"</
```
[Try it online!](https://tio.run/##rYxJCoAwDADv/iKe0gRrCU1pIVB9jAdR/P8tLm@QuQ3DHOe2X@5mrBr7C@ZKwlpISBsBCocOC/TAgkBNH1@UhWrGr4@qbDbaPPwycfeUkk/rDQ "Klein – Try It Online")
]