And did you test that with a file path that would fail? On Thu, Nov 25, 2021, 11:40 Roland Müller <rol...@gmail.com> wrote:
> Hello, > > actually trying this with os.Open() the program behaves the same > regardless whether the defer is before or after the error handling, Thus, > no panic :-) > > Isn't anything declared with defer always running after the user code in > the given func ends? I am too tired now to look this up. > > BR, > > Roland > > package main > > import ( > "fmt" > "os" > ) > > func main() { > f, err := os.Open("/tmp/dat") > //defer f.Close() > fmt.Printf("%v\n", f) > if err != nil { > fmt.Println("NO FILE") > //return > } > defer f.Close() > fmt.Println("END") > } > > Output: > <nil> > NO FILE > END > > > On 11/25/21 10:19, Fannie Zhang wrote: > > OK, I see. Thank you. > > > > *From:* Kurtis Rader <kra...@skepticism.us> <kra...@skepticism.us> > *Sent:* Thursday, November 25, 2021 10:26 AM > *To:* Fannie Zhang <fannie.zh...@arm.com> <fannie.zh...@arm.com> > *Cc:* golang-nuts <golang-nuts@googlegroups.com> > <golang-nuts@googlegroups.com> > *Subject:* Re: [go-nuts] some incorrect code in blog. > > > > Notice the date of that blog article: 2010-08-04. It's more than eleven > years old. Blog articles are not updated as the language changes. However, > in this case the example in that article is correct. If `os.Open()` returns > an error then the `src` return value is invalid. > > > > On Wed, Nov 24, 2021 at 6:14 PM Fannie Zhang <fannie.zh...@arm.com> wrote: > > Hi all, > > > > There is some incorrect code in > https://go.dev/blog/defer-panic-and-recover blog. > > > > The original code is > > *func CopyFile() {* > > * ...* > > * if err != nil {* > > * return* > > * }* > > * defer src.Close()* > > * ...* > > *}* > > > > I think the correct code should be > > *func CopyFile() {* > > * ...* > > * defer src.Close()* > > * if err != nil {* > > * return* > > * }* > > * ...* > > *}* > > > > I do not know how to modify the go blog, can anyone help? Thank you. > > > > Best regards, > > Fannie Zhang > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/726e95ed-9b14-46a5-bb09-7821616f4ff9n%40googlegroups.com > <https://groups.google.com/d/msgid/golang-nuts/726e95ed-9b14-46a5-bb09-7821616f4ff9n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > > > > -- > > Kurtis Rader > > Caretaker of the exceptional canines Junior and Hank > IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose the > contents to any other person, use it for any purpose, or store or copy the > information in any medium. Thank you. -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/PAXPR08MB6640963981E13AC180B4E19594629%40PAXPR08MB6640.eurprd08.prod.outlook.com > <https://groups.google.com/d/msgid/golang-nuts/PAXPR08MB6640963981E13AC180B4E19594629%40PAXPR08MB6640.eurprd08.prod.outlook.com?utm_medium=email&utm_source=footer> > . > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/4d0b379f-c2a0-a314-e2d3-5fec36528845%40gmail.com > <https://groups.google.com/d/msgid/golang-nuts/4d0b379f-c2a0-a314-e2d3-5fec36528845%40gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAA5t8Vq9m6rrR3GRcUqq-iKZc%3DX0okVuC6%2BPbH3n0zJx-SMZ7w%40mail.gmail.com.